contract NameClash =

  entrypoint double_def(x) = x
  entrypoint double_def(y) = 0

  // abort, require, put and state are builtin
  entrypoint abort() : int = 0
  entrypoint require(b, err) = if(b) abort(err)
  entrypoint put(x) = x
  entrypoint state(x, y) = x + y