class Steep::Typing

def save!

def save!
  raise "Unexpected save!" unless parent
  raise "Parent modified since #new_child: parent.last_update=#{parent.last_update}, parent_last_update=#{parent_last_update}" unless parent.last_update == parent_last_update
  each_typing do |node, type|
    parent.add_typing(node, type, nil)
  end
  parent.contexts.merge(contexts)
  errors.each do |error|
    parent.add_error error
  end
end