Try some better types and use instances.