Basic shadow datatypes

@markhibberd @maxpow4h @etorreborre @charleso @raronson 
Is this actually used? It looks pretty suspect.