more comments
polymorphic unit and bind in livescript with workarounds...