added `canComposeWith` to the necessary operations, attempted to fix "moveCursorBeforeNewline"