ensure_left coded up
ensure right complete
docs + version