derive-18.104.22.168: A program and library to derive instances for data types
Has is a pseudo derivation. For each field of any constructor of
the data type, Has generates hasFieldName which returns True
if given the the given field is a member of the constructor of the
passed object, and False otherwise.