issue #33 Take advantage of DataKinds

Applying the patch