Specification for interoperability of common algebraic structures in JavaScript Specification for common algebraic types in JavaScript based on Fantasy Land