From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by c5ff346549e7 (Postfix) with ESMTPS id 250FF5D5 for ; Tue, 14 Sep 2021 17:03:43 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.84,326,1620684000"; d="scan'208";a="528432335" Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 14 Sep 2021 19:03:41 +0200 Received: by sympa.inria.fr (Postfix, from userid 20132) id 1155DE0146; Tue, 14 Sep 2021 19:03:41 +0200 (CEST) Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 5526EE006E for ; Tue, 14 Sep 2021 19:03:39 +0200 (CEST) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=carette@mcmaster.ca; spf=Pass smtp.mailfrom=carette@mcmaster.ca; spf=Pass smtp.helo=postmaster@CAN01-TO1-obe.outbound.protection.outlook.com IronPort-PHdr: =?us-ascii?q?A9a23=3A4VaffR2B7xTeJBT4smDO9gMyDhhOgF0UFjAc5pd?= =?us-ascii?q?vsb9SaKPrp82kYBaHo6Q0xwKWFazgqNt8w9LMtK7hXWFSqb2gi1slNKJ2ahkel?= =?us-ascii?q?M8NlBYhCsPWQWfyLfrtcjBoVJ8aDAwt8H60K1VaF9jjbFPOvHKy8SQSGhLiPgZ?= =?us-ascii?q?pO+j5AIHfg9qr2+yo/5DffgpEiTq/bLhvMBi4sALdu9UMj4B/MKgx0BzJonVJe?= =?us-ascii?q?+RS22xlIE+Ykgj/6Mmt4pNt6jxctP09+cFOV6X6ZLk4QqdDDDs6KWA15dbkugf?= =?us-ascii?q?FQACS+3YTSGQWkh5PAwjY8BH3W4r6vyXmuuZh3iSRIMv7Rq02Vzu/9admUB/mh?= =?us-ascii?q?jkaOT4l/m/ZicJwg6BHrxyuqBNy2JLUYJiJOPZiYq/RYc0WSGxcVchRTSxBBYa?= =?us-ascii?q?8YpMBA+cfJ+lYtZfyp0cSrRSgHQWnGefhxSVUiX/vwK01zf8hHQ/b1wEnA90Bq?= =?us-ascii?q?m7Uo8vpNKcOT++416zIwinGb/xMwjf99JbHcgo7rf6QR719aMzcwlQgGA3ZlFu?= =?us-ascii?q?fs5DlPy+L2eQXtWiW9+htW+2hhmApqQx8oySiytoyhoXVh48YyE7I+CVkzYs3K?= =?us-ascii?q?9O1R1J3bN+nHZZMuCyUN5Z6T94jTm9otig3yaMKtYK9cSMXxponwBvfZOaGc4i?= =?us-ascii?q?O+h/jSfqeISxli35/Zr2wmguy/VCnyu3/U8m00VRKojBCktnWuXAA0QHY5MufS?= =?us-ascii?q?vZl8UqtxSyD2x3P5uxGO0w5lKjWJ4Qlz7M0jpYfr0XOEjP4lUjzkaOaal4r9+m?= =?us-ascii?q?t5uv8frnqu5qROoB3hwz7N6kihNKzDOIlOQYURWeb4/6z1Lj78E35XrpKivo2n?= =?us-ascii?q?7HHvZ3GPcoXurO1DxZL3Ig69hqzFjCm388GknUdK1JFZQ6HgJPuO1HTJvD3EO2?= =?us-ascii?q?zg0y2kDds2/DJIKHuAonMLnjElrftZ7F961NAyAo3ytBf4JFUBqsdL/L0X0/9r?= =?us-ascii?q?N3YDhknPAyo2+vqB8lx2pkDVW6TAKKVKqLfvF2S6u8rJ+SAfIoVtyz8K/gh6f7?= =?us-ascii?q?ul3g5mVoFcKa1x5QXcm63Huh6I0qHenfsh8sOEWIQsQolUOzllkeCXSRPaHmoR?= =?us-ascii?q?648/C00CJq6DYffQYCgmKCO0z2+Hp1Sf2xGDlGMEWz0d4ifQPcNaCeSItd7nTA?= =?us-ascii?q?eVLihTZUh1RC0uwPgxbpnNLmcxipNkpbu25Ah4Onemjk19jl1DYKayW7bCyk+l?= =?us-ascii?q?WoNQ3oy3btjiU170FaKl6ZiybQMHtVW47ZNUxwmHZ/a1e1zTd7oDFHvZNCMHRy?= =?us-ascii?q?NS8+rHS08CpoTytQXfktmUZ32hRnZ0ja2DpcQnLmCH4A56OTX1i6idI5G13/a2?= =?us-ascii?q?fx53BEdScxVODj+7kae3yP6IdaQ1nm+zuOtf6la2zPR/mCey2bIpFtfTAN7TaT?= =?us-ascii?q?CWzYYe1fSqtP6oEjFSu33YVzIGg5KzMeZNqZQLNbg3wwurBLLPd/banmtln32D?= =?us-ascii?q?h/antux?= IronPort-HdrOrdr: =?us-ascii?q?A9a23=3A1KFtGq5JoJiBLLpEvgPXwXOBI+orL9Y04lQ7?= =?us-ascii?q?vn2ZFiY5TiXIraqTdaogviMc0AxhIE3I6urwQ5VoJkmsuKKdgLNhd4tKOTOLhI?= =?us-ascii?q?LGFvAH0WKP+Vzd8mjFh5dgPMRbAuRD4b/LfD9HZK/BiWHWferIguP3lpxA7t2u?= =?us-ascii?q?rEuFODsaDp2ImD0JaDpzfHcXeCB2Qb4CULaM7MtOoDStPV4NaN6gO3UDV+/f4/?= =?us-ascii?q?XWiZPPe3c9dlAawTjLqQntxK/xEhCe0BtbeShI260e/W/MlBG8zrm/ssu81gTX?= =?us-ascii?q?2wbontVrcZrau5t+7f63+4oowwbX+0OVjUNaKvm/VQUO0aKSAZAR4Z7xSlkbTo?= =?us-ascii?q?JOAjjqDxuISFPWqnTdOXAVmjDfIBaj8AfeiN28SzQgB8Vbg4VFNhPf9ko7pdl5?= =?us-ascii?q?lLlGxmSDqvNsfGX9dQnGlqz1vitR5z2JSLsZ4J4upm0aVZFbZK5arIQZ8k8QGJ?= =?us-ascii?q?AcHDji4IRiFOV1FsnT6PtfbFvfNhnizyFS6c3pWm52EgaNQ0AEtMDQ2z9KnGph?= =?us-ascii?q?x09dwMAEhH8P+J80VpEB7eXZNaZjkq1IU6YtHOtALfZERdHyBn3GQBrKPm7XKV?= =?us-ascii?q?P7FLsfM3aIsJLz6KVd3pDeRHXJ9upBpH3laiISiYcfQTORNSS+5uw5zvmWehTD?= =?us-ascii?q?Yd3E8LAu26RE?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AVAgCYahphh2NDayhaFnODLFF+WCcSM?= =?us-ascii?q?YgPA4U5iGkDnQ0DVAsBAwELAjUMBAEBhF0CAgKCbB8GAQQ0EwECBBUBAQUBAQE?= =?us-ascii?q?CAQMDBAETAQEBAQsNDgg6JIU7CCUNgjUig2sBAQEBAQISKAYBASsNCwQCAQgRB?= =?us-ascii?q?AEBHxAyHQgCBAESCBqCTwGCVQMwAgybFgGBOgKKH3iBM4EBggcBAQYEBIUuGII?= =?us-ascii?q?0CYE6gn6KdUOCDYFYgmI+gksXA4FhMIMbgi6ELoEiAQEvVhMDaL4mAweDKIo9l?= =?us-ascii?q?C4ShS2hSJYRjD6Td4RnAgQCBAUCDgEBBoF3gX2BBTuCaQlHGQ6JW4Reg1lqhCq?= =?us-ascii?q?FSkIxAjYCBgsBAQMJiXUBAQ?= X-IPAS-Result: =?us-ascii?q?A0AVAgCYahphh2NDayhaFnODLFF+WCcSMYgPA4U5iGkDnQ0?= =?us-ascii?q?DVAsBAwELAjUMBAEBhF0CAgKCbB8GAQQ0EwECBBUBAQUBAQECAQMDBAETAQEBA?= =?us-ascii?q?QsNDgg6JIU7CCUNgjUig2sBAQEBAQISKAYBASsNCwQCAQgRBAEBHxAyHQgCBAE?= =?us-ascii?q?SCBqCTwGCVQMwAgybFgGBOgKKH3iBM4EBggcBAQYEBIUuGII0CYE6gn6KdUOCD?= =?us-ascii?q?YFYgmI+gksXA4FhMIMbgi6ELoEiAQEvVhMDaL4mAweDKIo9lC4ShS2hSJYRjD6?= =?us-ascii?q?Td4RnAgQCBAUCDgEBBoF3gX2BBTuCaQlHGQ6JW4Reg1lqhCqFSkIxAjYCBgsBA?= =?us-ascii?q?QMJiXUBAQ?= X-IronPort-AV: E=Sophos;i="5.84,326,1620684000"; d="scan'208";a="528432314" X-MGA-submission: =?us-ascii?q?MDFnaeXYux8CG/mVp+1jGwOpl+bQ16aUKdPeUz?= =?us-ascii?q?QmhUJzl2nXaF2kLNm/TPYIiAXq0aJorvj/Z6AMt+FyU/K+QZs+uY/2uu?= =?us-ascii?q?2d41NIMyCCb0VRbwZHw19s6qF2AaOBLqDXQIq6mED8S8xVfKjCDLG2cP?= =?us-ascii?q?1PGMz6ufzQQqsHyeZvshzgTQ=3D=3D?= Received: from mail-eopbgr670099.outbound.protection.outlook.com (HELO CAN01-TO1-obe.outbound.protection.outlook.com) ([40.107.67.99]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES256-GCM-SHA384; 14 Sep 2021 19:03:35 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JGMrMGpyS+BugD1x+2TdRHshEhmZXZZzOv8/XnaTBGF/yt9kd88plVFPq9hjQOGb9hHlevQ3UIuO/sD2wZfKLu5VQcLCYMYWjP5LbCdmi3FdcVMXr5Exg6+iSbgaLly2b4Z27OoMZzJc+AL6XxcMLZJ4A+4gMZEe83/9JH1t/PiFRoXCvwW0B3GkTtEpZDbMWMVAdW765ufbjW2CO7JBghCSLqOf3XtylHTVlUFWT5bICA2kCZszy7nwkr3XAnrVFgOfbkx2De00iH3p7uV9uqCnK2BZlcq3ms5uXxqtubdy9c2iIYF8kmjquctw7dz64nwO1w7GXn7VOKMJgQxDLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=+CrW5xxtnwd8DU9khdF67Lj901dviZ7h1b9LN+V+5MI=; b=JT3BAvofETQmyY6bZNaRGKBCjFaYLSGzJejdodX+xMWBAamuBXgLxgtjEvUvmscdberq1pPsYErda04Rh0WqdATjlTx+F/cJHyNat4TKjTlbPzRI1QWb8gy7kYOpKiNnZ51Lj1elkZb4VfV+abOe5L+dmxRHc9Lh6le/OJw9uPALSTIxE0hq7LO9TwlK2/R13GTisGT/tK8FImaiHdRBRk2DUKzMU9sIH7h/hfzOrFKAvSgWcJHpy/nV3hTLzCHWxcIX7X9zpq5InY5NAAijgMwe7LDH4fhiH2cYSHNycbTofGhywbVO4ZsSwbb/qTKWsDR0SYsFEI1akq/+GgFwBg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mcmaster.ca; dmarc=pass action=none header.from=mcmaster.ca; dkim=pass header.d=mcmaster.ca; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mcmasteru365.onmicrosoft.com; s=selector2-mcmasteru365-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+CrW5xxtnwd8DU9khdF67Lj901dviZ7h1b9LN+V+5MI=; b=H/HA5W4CgtwCXNTiDwtwM8TwQTruwCJqveAXT+WACbCMMYA/tz7Su/EQXClLYCop2HAAmPhLqT5w/6hJ44MSWnr+p3qEF/iymokCOSnVK403im4ymJ/0vLtYAIhZKMWcJf+/CvXcdIMNEg84vCipHk1CorQixPVNtjciAZQXFmM= Received: from YT3PR01MB4897.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:48::22) by YTOPR0101MB1466.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b00:24::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.14; Tue, 14 Sep 2021 17:03:32 +0000 Received: from YT3PR01MB4897.CANPRD01.PROD.OUTLOOK.COM ([fe80::5892:b7e7:a58b:ac0d]) by YT3PR01MB4897.CANPRD01.PROD.OUTLOOK.COM ([fe80::5892:b7e7:a58b:ac0d%6]) with mapi id 15.20.4500.019; Tue, 14 Sep 2021 17:03:32 +0000 From: "Carette, Jacques" To: Oleg , "caml-list@inria.fr" Thread-Topic: [Caml-list] Higher-kinded bounded polymorphism Thread-Index: AQHXqJoBpgiItIsQeUGkQXpSkoNZ1Kujw1uw Date: Tue, 14 Sep 2021 17:03:32 +0000 Message-ID: References: <20210913122139.GA3696@Melchior.localnet> In-Reply-To: <20210913122139.GA3696@Melchior.localnet> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c03e65f7-7899-4305-8bd7-08d977a19544 x-ms-traffictypediagnostic: YTOPR0101MB1466: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6430; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: CsEvsN63gFdPvyKApSUyc/p1fxCXlKa6AEqannWar2+USe95qulYI1ytDSj6Aq/GEQ+OCaec+1KGQry0acZdMW0TFC9OJnsWJpN+WBMW9YkUM0QETl3+WUfK4gR2//npMNkOamHK0WViLNqcyd9Iz9OzzGsTYdiV+aKQNb0YMbE8y9KOfexPnHXZ9chgzJHBIwVHOOUUtuuQzSOepsMMRY8rYS9/+AE0XqOKqFwk+hSBcm289u3FSPi8/gYXVW7Ta28aCZPBW+QE1cCRqQ30rABVy2AQRxfVCqj0kD8UhUcouNYSl/l71PGFTE6k4eQ2GE7u2GDMLMjVVbX0zIRH1FtveuxhCxwScUX/NxY7O1Yrkkvc59Kj3Okdxi7ZTz9JHA5VMmwvEtZVJZxEUFliQLn0Iyylrni5ZWRak4OAcYdTedotrzcJ8lvHdTQyUpVqnnrhzvTphHsj69+3grFq/9i9SDDXjUfgv1p2V41UHBAPGH5clBVcuKndiDtwuk9uRKacILDb82VP6wAgbn8+mFiVD79z2MPgKEju0HV4E+fWgLbnxuKWZZCQhwPEo0teEw3T2pQ7g4BpsY/Je0KImbDp7EaOzwLYFchIx1qIVh5oBltGXxdY+0FYcjsUZCOujDoMAoQpVv6b6l8onf98+8RDgUv5ALIUJU+t+izo5sGz/Loaz1LLS2/meZiB0Royppv3rxh6wzH6vmUCi2J2pLIvMTqNGJiAhiCrq113Fij8SxQJ8iL+NH2Tj6H8TecpabmzjlQCiJy7QZ24Rd1MOSGqa8Ynp1BEG/hMhI9xSTU= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:YT3PR01MB4897.CANPRD01.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(86362001)(8676002)(53546011)(6506007)(122000001)(7696005)(110136005)(38100700002)(9686003)(186003)(8936002)(71200400001)(66946007)(64756008)(66476007)(66556008)(55016002)(83380400001)(76116006)(966005)(2906002)(508600001)(38070700005)(316002)(52536014)(66446008)(5660300002)(33656002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?3DgxKb17EMehY41PEbhGTHP5qIczD2Nk0llF717N08JpqPzJU/SBers7nkIy?= =?us-ascii?Q?oCsSoD07PpGP0iJ0T3XA7cC6DoZ7QK1ZqJMZKTZI2aGq4Y7JXhKbehmjDIRr?= =?us-ascii?Q?piL/lnc/O+QEzKW0gDtkt/+PMzL3cd38FQe4nQWfLH5OcLhQ6EbsZvkfxhF3?= =?us-ascii?Q?SqHrsRFbdnEPXVXRPfnhfVudYlx07XtCXNs/49cYw9uoN89+oj5CN4bW4fwr?= =?us-ascii?Q?IZtzcThQpbG40X5/7fiVevATXx9Xb6J2h40D7FBOxFgJt06Zi4fDtR8jDOSO?= =?us-ascii?Q?WDZdUs2o5+zafS8jYMfFLv5et5mdOvvihFq7p5cHHDHwp7dIXrY8bP6CFIHY?= =?us-ascii?Q?ayXbJ4URqjs9wYe/WdmUlh9ozt4U+5uGg8btM5tO8qMOHByFQADFX6593Qlz?= =?us-ascii?Q?qj8Ti9W71erIiIYdj49THM/GLiHonJRFgTlx7F/Zjr0sd7kHWLeDrojaVXTL?= =?us-ascii?Q?a8rTDCiKkAOmbnJErtWhiA+eVa8g/WCkmNzGnHMYkh5QtuzKEiFsgBffrtRF?= =?us-ascii?Q?BLnCkCVMig+bQ3oPmClG2urp0c+Y7raQQaf7G2BiG2WuNidcrFGXsd36J13F?= =?us-ascii?Q?dGa/XZqnSQ6v101wkyt0+A8a5d/ehgREVjmBfQElyEbq9tPktmZVMGEa3XWO?= =?us-ascii?Q?6l1YFtxuWDX0+i4enne3IRmZ9iAXEtI+ZRZKc2jxaELOD3dTFRee+OwgVb0g?= =?us-ascii?Q?PbYnmZ6281sffc0RiXWH3OJoEFdla2Vm2h7zF4CpWr/2qm8seJLDHTKlhJdR?= =?us-ascii?Q?cF8fbG95Z9XfxvIPvQQA2XVNKzrkbvi64krku3SBgoTblVMLhl8n+30ZITJe?= =?us-ascii?Q?Z6j2TdlUZlIDeAotfcX+KTMjhvUTq4xZ+mTrI+B3A3Xy/TrREMFbe33pBBTS?= =?us-ascii?Q?6yDzSQz+uKbdSAfCzbUS8kbJVW6wJ3uoHAoWp6RDKTWpBh1JhxqxpcuDaCsH?= =?us-ascii?Q?lm1I7T73uPljoYqG/freH9bWx+CXI8CnoigqD7OnJpRYYNqNjD9zNL4qnjXR?= =?us-ascii?Q?g82VFCWUybGioRfckgwK7CitZ/FXQiv1Sw9qhs8g8hZYQKM1dlM5Z9e8ecOO?= =?us-ascii?Q?kqEbeuTAOEVQK2ElaEuGkbOceU86+W2lDqJHGfiNTewYgLCLPz7mpTD9B6Cv?= =?us-ascii?Q?pj5J4huaAIUIFNQuJB7eGA9m0hoBODD2eAYzKWx5EfNzTd+1+ZQXtzs0kp2e?= =?us-ascii?Q?w0lx4TwRaRQURvDxXTw8+uiVVUdj0zYT+ZT17dg/eIs7K2nGWh8YT1hUdIT8?= =?us-ascii?Q?cRazFVJpsIK8tjyHFj8Iuhyq2joQde5igoVYi79iHYf5Op53p5YaLsj2Zixu?= =?us-ascii?Q?ndp7F4hnIR+kkZQChKXad/SMuiTkgkx3UoyYBvyxm0oVvFJSAsdwpEr+ddcl?= =?us-ascii?Q?J47oMlRS6ziOmiuKQ0HW8YteSV6U?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: mcmaster.ca X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: YT3PR01MB4897.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: c03e65f7-7899-4305-8bd7-08d977a19544 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Sep 2021 17:03:32.6865 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 44376307-b429-42ad-8c25-28cd496f4772 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: I49dZ/UCHuOX9ZQXx8vme9KydW48X02+8v1IEFCBNqRA7ojf+ZlKmnWwCGH74TEWabpTdd8K1DVr96w/oF3E3g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YTOPR0101MB1466 Subject: RE: [Caml-list] Higher-kinded bounded polymorphism Reply-To: "Carette, Jacques" X-Loop: caml-list@inria.fr X-Sequence: 18567 Errors-To: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: This trick reminds me of a similar trick used by Goguen in OBJ. See "Highe= r Order Functions Considered Unnecessary for Higher Order Programming" http= s://cseweb.ucsd.edu/~goguen/pps/utyop.pdf from 1987. > -----Original Message----- > From: caml-list-request@inria.fr On Behalf O= f Oleg > Sent: September 13, 2021 8:22 AM > To: caml-list@inria.fr > Subject: [Caml-list] Higher-kinded bounded polymorphism >=20 >=20 > Abstraction over polymorphic types is something that one comes across fro= m > time to time, especially when implementing operations generic over collec= tions, > or embedding typed DSLs (particularly in tagless-final style). One immedi= ately > learns that OCaml does not have higher-kinded type variables (type variab= les that > range over type constructors like list and array); does not permit type > constructors appearing by themselves, without being applied to the right = number > of arguments; and restricts polymorphic types in other ways (e.g., not al= lowing > them in type constraints of package types). One soon learns that the modu= le > system (using functors) is a way to realize higher-kinded polymorphism in= OCaml. > It takes longer to learn it is not the only way, however. >=20 > The following web page is written to speed up this learning. It collects = what I have > learned and rediscovered on this topic, arranged into a single story and = with new > explanations and attributions (and occasionally, new variations). >=20 > http://okmij.org/ftp/ML/higher-kind-poly.html >=20 > One interesting discovery is that some problems that ostensibly require h= igher- > kinded polymorphism really do not. >=20 > The article comes with the complete accompanying code.