typeside t schema s1 : t schema s2 : t constraints c : s1 query q : s1 -> s2 ---------------------------------- query (chase c q) : s1 -> s2