Advantages

More strictly typed and encodeable

Transferrable using functors