basic typing rules for copying/moving and tests
Continue to sketch out and elaborate on type rules