A single scheme-like language with an extensible notion of scope, based on monoids