Beyond algorithmic equivalence: self-modelling — LessWrong