Support poke'ing data types with multiple constructors
Allow specifying the tag for constructors