For many applications it is necessary to interface Prop to data structures predefined in libraries, or generated by other tools. In order to make it possible to work with these external data structures, Prop, from version 2.3.3. onward, provides a view mechanism to interface with these data structures. Using views, an externally defined type can be used within Prop's pattern matching and rewriting mechanisms transparently, just as if it were defined by Prop. The Prop translator will call the appropriate interface functions specified by the user to manipulate these external datatypes.