functional reactive programming rust