   ///
   /// The signature of the function is not immediately available, but may be
   /// acquired by querying the context with the qualified name.
-  case function(QualifiedName, [Clause])
+  case function(QualifiedName, [DeclaredClause])
   /// The body of a data declaration.
   ///
   /// E.g. this portion of the standard definition of

/// known to be well-scoped.
public struct DeclaredModule {
  /// The name of the module.
  let moduleName: QualifiedName
  /// The parameter list of the module, in user-declared order.
  let params: [([Name], Expr)]
  /// The namespace of the module.
  let namespace: NameSpace
  /// The child declarations.
  let decls: [Decl]
}

/// Represents a well-scoped declaration.
enum Decl {
  /// A type ascription.
  ///
  /// ```



/// Expressions - well-scoped but not necessarily well-formed.
public indirect enum Expr: Equatable, CustomStringConvertible {
  /// An application of a head to a body of eliminators.
  ///
  /// The head may by a local variable or a definition while the eliminators
