let compile_domain (h:firstpassh) (d:Compact.domain) =
      match d with
        Compact.BindingDomain p -> raise Util.Skip
      |        Compact.MatcherDomain p -> c_md p
      |        Compact.SnippetDomain p -> c_sd p
      | Compact.ExpressionDomain p -> raise Util.Skip
      | Compact.Heart p -> raise Util.Skip
      |        _ -> raise (Failure "Unknown domain during compilation")