If you read the Inferno programming guide, you will see how much the languages resemble themselves.
Major differences are that Limbo uses a VM based runtime with dynamic loading and Abstract Data Types.
But your approach is also good, still Oberon had some issues that were eventually improved in Oberon-2 that Go lacks.
On the other hand Oberon-07 is even more bare bones than Go.