added deriving 'annotated' datatypes