parameters that are ref scope restricted and alias free by default. Add tuples. Add ways to express that parameters are
Actually, "alias free" by default might be a bit too much, maybe just add "restricted" and a mechanism where the compiler presents a warning if optimization was limited by not having a guarantee. Then the implementor can add restricted where it is needed to get better performance.
