pack [P = PointRep in TileWRT[P]]
pack [T <= PointRep = TileRep in TileWRT2[P, T]]
{mktile = fun(x:Int, y: Int, hor: Int, ver: Int)
{x=x, y-y, hor=hor,
ver=ver},
origin = fun(t: TileRep) t,
hor = fun(t: TileRep) t.hor,
ver = fun(t: TileRep) t.ver}
fun(tilePack: Tile)
open tilePack as t[pointRep][tileRep]
let f = fun(p: pointRep) ...
in f(t.tile(0, 0, 1, 1))