In many cases it's useful to interact with the plan language datatypes from a task for example to pass Targets to a task or use a task to discover Targets from a task.
We should allow the plan language datatypes to be serialized and passed to a task as parameters
We should deserialize these objects when returned from a task.
The supported task helper libraries should support automatically deserializing these into native objects with plan language methods and attributes exposed
We should support using these types in task
Questions:
How to balance serialization to limit bloat/size of the object(for example are facts serialized with a target? Is a target serialized with a result?)