support for decoding with Double, Int, Int32, or Int16

  * Using ad-hoc polymorphism here unfortunately requires the out-of-reach
    higher-rank constraints.

  * So, to switch types:

    * change the d~TYPE in Haskell.Decode

    * change the ECC m V V TYPE Int in Manifold.Haskell

    * change the (map cnvNN) in Manifold.Haskell

  * If desired, I can recover the use of ad-hoc polymorphism via Kmett's
    constraints package. I'm not currently sure how it will affect the
    generated code