Derive Data and Typeable for all types
Write doesTarget using the lens biplate traversal
Add comment about Zone type
Begin defining game engine types