Bare-bones gate/socket/wire functionality.
merging: using theirs