anchor.diff:              | (List left, List right) -> compare left right
               | (Ring left, Ring right) -> compare left right
               | (Table left, Table right) -> compare left right
  -            | (_, _) -> -1
  +            | (_, _) -> -1 // TODO: ensure this won't break the used sorting algorithms
   
           // TODO: check if we can trust the hash function to be efficient on value types...
           override this.GetHashCode () =
  
positive.code:                             | _ -> Violation ([!!"InvalidSetForm"], "Invalid set form. Requires a name, a value expression, and an optional relation expression.", originOpt) :> obj
                          | "variableStream" ->
                              match tail with
                              | [Prime.Atom (nameStr, originOpt)]
                              | [Prime.String (nameStr, originOpt)] -> Stream (VariableStream nameStr, originOpt) :> obj
                              | _ -> Violation ([!!"InvalidVariableStreamForm"], "Invalid variable stream form. Requires a name.", originOpt) :> obj
                          | "eventStream" ->
                              match tail with
  
negative.code:                             Break (content, originOpt) :> obj
                          | "get" ->
                              match tail with
                              | Prime.Atom (nameStr, _) :: tail2
                              | Prime.String (nameStr, _) :: tail2 ->
                                  match tail2 with
                                  | [] -> Get (nameStr, originOpt) :> obj
                                  | [relation] -> GetFrom (nameStr, this.SymbolToExpr relation, originOpt) :> obj
  