### References and pointers [ Datatype references Funcon reference Type pointers Funcon pointer-null Funcon dereference ] Meta-variables T <: values Datatype references(T) ::= reference(_:T) Datatype pointers(T) ::= pointer-null | { _:references(T) } Funcon dereference(_:pointers(T)) : =>(T)? Rule dereference(reference(V:T)) ~> V Rule dereference(pointer-null) ~> ( )