If you have read all blog post until now, you might have come to the realization that immutability is a core concept in functional programming. In this blog post, we will take a look at a pattern that can help us update and extract data from large immutable data structures. As mentioned in a previous blog post, updating immutable data is done by creating an entirely new copy of the data structure with some part of the data with new values. For shallow structures, this is not really an issue, at least for languages that has a syntax for copying values. Take the following record as an example, written in typescript:βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββο»Ώβββββββββο»Ώβββββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώββο»Ώββββο»Ώβββο»Ώβο»Ώβββββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββο»Ώβββββββββο»Ώβββββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώββο»Ώββββο»Ώβββο»Ώβο»Ώβββββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
interface User {
name: string;
birthDate: Date;
}
const user = {
name: "Simon",
birthDate: new Date("1993-12-19"),
};βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββββββο»Ώο»Ώβ
After creating this object, I notice I made a typo in the name, which is actually Simen. We fix this with a simple spread on the previous user object:βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώο»Ώβο»Ώβββο»Ώββββο»Ώββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββββββββο»Ώββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώο»Ώβο»Ώβββο»Ώββββο»Ώββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββββββββο»Ώββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
const updatedUser = { ...user, name: "Simen" };βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβο»Ώββο»Ώββββο»Ώβο»Ώβο»Ώββο»Ώββο»Ώβββββο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβο»Ώββο»Ώββββο»Ώβο»Ώβο»Ώββο»Ώββο»Ώβββββο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββββββο»Ώο»Ώβ
Now, what if the user was a part of the current login context in the application, which again is a part of the application model?βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββο»Ώβο»Ώβββββο»Ώβββββο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββββββββββο»Ώο»Ώβββο»Ώβο»Ώβββββββββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββο»Ώβο»Ώβββββο»Ώβββββο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββββββββββο»Ώο»Ώβββο»Ώβο»Ώβββββββββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
interface LoginContext {
user: User,
...
}
interface Model {
loginContext: LoginContext
...
}βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββββο»Ώββββο»Ώββββββο»Ώβο»Ώβββο»Ώβο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββββο»Ώββββο»Ώββββββο»Ώβο»Ώβββο»Ώβο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββββββο»Ώο»Ώβ
Easy! We just have to spread the model, spread the login context, and spread the user with the updated name value.βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββββββββββο»Ώββο»Ώο»Ώββββββββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβββββββββββο»Ώββββββββββββο»Ώο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββββββββββο»Ώββο»Ώο»Ώββββββββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβββββββββββο»Ώββββββββββββο»Ώο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
const updatedModel = {
...model,
loginContext: {
...model.loginContext,
user: {
...model.loginContext.user,
name: "Simen",
},
},
};βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββο»Ώββββο»Ώββββββο»Ώββββο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββο»Ώββββο»Ώββββββο»Ώββββο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββββββο»Ώο»Ώβ
Cumbersome, right? Imagine having to do this every time we need to update a value.βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββββββββββββββο»Ώββββο»Ώβββββββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβββο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββββββββββββββο»Ώββββο»Ώβββββββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβββο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
Lensesβββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώββββββββββββββββββββο»Ώββββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββο»Ώβββββββββββο»Ώβββο»Ώββο»Ώββββββο»Ώβο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώββββββββββββββββββββο»Ώββββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββο»Ώβββββββββββο»Ώβββο»Ώββο»Ώββββββο»Ώβο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
Lenses is part of a group of patterns used to abstract away the action of updating and looking through large immutable data structures. A lens β or a functional reference β is essentially a focus into a data structure, abstracting away how deep a structure is by pointing right at the requested field. Let us look at the signature of a lens:βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώβο»Ώβββββο»Ώβο»Ώβββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβο»Ώββββββββββο»Ώο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώβο»Ώβββββο»Ώβο»Ώβββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβο»Ώββββββββββο»Ώο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
interface Lens<A, B> {
get: (a: A) => B;
set: (a: A, b: B) => A;
}βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββο»Ώβββββββββο»Ώβο»Ώββββο»Ώο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββο»Ώβββββββββο»Ώβο»Ώββββο»Ώο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββββββο»Ώο»Ώβ
It is a pair of two functions, a getter and a setter. The getter is a way to extract a subpart B from a larger structure A. The setter defines a way to replace the subpart B in the larger structure A.βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββββββββο»Ώβββο»Ώβββββββο»Ώβββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβο»Ώβββββββο»Ώβο»Ώββββο»Ώο»Ώβο»Ώββββββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββββββββο»Ώβββο»Ώβββββββο»Ώβββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβο»Ώβββββββο»Ώβο»Ώββββο»Ώο»Ώβο»Ώββββββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
A lens made to focus on the name field from the perspective of the model, could look something like this:βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββο»Ώβο»Ώββββββββο»Ώββο»Ώβββο»Ώβββββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβββββο»Ώβββο»Ώβο»Ώβββο»Ώββββο»Ώββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββο»Ώβο»Ώββββββββο»Ώββο»Ώβββο»Ώβββββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβββββο»Ώβββο»Ώβο»Ώβββο»Ώββββο»Ώββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
const nameLens: Lens<Model, string> = {
get: (model) => model.loginContext.user.name,
set: (model, name) => ({
...model,
loginContext: {
...model.loginContext,
user: {
...model.loginContext.user,
name,
},
},
}),
};βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββββββο»Ώο»Ώβ
Taking the example from earlier, updating our entire model just got a whole lot simplerβββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββο»Ώβββο»Ώββο»Ώβββββββββββο»Ώβββββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώββββββο»Ώβββββββββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββο»Ώβββο»Ώββο»Ώβββββββββββο»Ώβββββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώββββββο»Ώβββββββββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
const updatedModel = nameLens.set(model, "Simen");βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώβο»Ώβββο»Ώβο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώβο»Ώβββο»Ώβο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββββββο»Ώο»Ώβ
We still do the exact same thing as before, only we have centralized the knowledge of how the model is constructed into the lens. This abstraction itself is nice, but is it not just a setter? Well, yes. What if we want to make setters for all the values of βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώββββο»Ώο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώββββο»Ώο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»ΏβUserβββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώββββο»Ώο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββο»Ώββββο»Ώο»Ώβο»Ώβββββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώββββο»Ώο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββο»Ώββββο»Ώο»Ώβο»Ώβββββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
, would we not have to duplicate much of the setters again and again? This is where the true value of lenses come to light. Lenses have the ability to compose with each other. This essentially means that two lenses βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώββββο»Ώο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβββββββββββββββο»Ώβββββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώββββο»Ώο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβββββββββββββββο»Ώβββββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»ΏβA => Bβββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώββββο»Ώο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββο»Ώββββββο»Ώβο»Ώβο»Ώβββββββββββββο»Ώβο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώββββο»Ώο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββο»Ώββββββο»Ώβο»Ώβο»Ώβββββββββββββο»Ώβο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
and βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώββββο»Ώο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββο»Ώββββββο»Ώββββο»Ώββββββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώββββο»Ώο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββο»Ώββββββο»Ώββββο»Ώββββββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»ΏβB => Cβββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώββββο»Ώο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββο»Ώβο»Ώβββββββββββββββββββββο»Ώβο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώββββο»Ώο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββο»Ώβο»Ώβββββββββββββββββββββο»Ώβο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
together can make up the lens βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώββββο»Ώο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβββββββββο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώββββο»Ώο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβββββββββο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»ΏβA => Cβββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώββββο»Ώο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώββββο»Ώο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
.βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώββββο»Ώο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββββββββββο»Ώββο»Ώβο»Ώβββββββο»Ώβο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώββββο»Ώο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββββββββββο»Ώββο»Ώβο»Ώβββββββο»Ώβο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
Instead of creating a lens focusing us from the model straight to the name of the user, we create a set of lenses:βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββο»Ώβββββββββββββββο»Ώβββο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβββο»Ώβββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββο»Ώβββββββββββββββο»Ώβββο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβββο»Ώβββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
const loginContextLens: Lens<Model, LoginContext> = {
get: (model) => model.loginContext,
set: (model, loginContect) => ({ ...model, loginContect }),
};
const userLens: Lens<LoginContext, User> = {
get: (loginContext) => loginContext.user,
set: (loginContext, user) => ({ ...loginContext, user }),
};
const nameLens: Lens<User, string> = {
get: (user) => user.name,
set: (user, name) => ({ ...user, name }),
};βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββο»Ώβο»Ώβββββο»Ώβο»Ώββββββββββββο»Ώββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββο»Ώβο»Ώβββββο»Ώβο»Ώββββββββββββο»Ώββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββββββο»Ώο»Ώβ
For reference, we include the compose function. It is a function that takes two chaining lenses as parameters, merging them together. A key point to notice here is that the resulting set of functions are also a lens, enabling composed lenses to continue creating new lenses.βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβββββββββββο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβββββββο»Ώββββο»Ώβββο»Ώββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβββββββββββο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβββββββο»Ώββββο»Ώβββο»Ώββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
function composeLens<A, B, C>(ab: Lens<A, B>, bc: Lens<B, C>): Lens<A, C> {
return {
get: (a) => bc.get(ab.get(a)),
set: (a, c) => ab.set(a, bc.set(ab.get(a), c)),
};
}βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβο»Ώββββββββββββββββββο»Ώβββββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβο»Ώββββββββββββββββββο»Ώβββββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββββββο»Ώο»Ώβ
We now have lenses that together can make up to the following focus: βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβββο»Ώββββββββο»Ώββο»Ώβββββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβββο»Ώββββββββο»Ώββο»Ώβββββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ(Model => LoginContext)βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώβο»Ώβββββο»Ώβββββο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώβο»Ώβββββο»Ώβββββο»Ώβββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
, βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώβο»Ώβββο»Ώβββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώβο»Ώβββο»Ώβββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ(LoginContext => User)βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββο»Ώο»Ώββο»Ώββββο»Ώβββββο»Ώβββο»Ώβββββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββο»Ώο»Ώββο»Ώββββο»Ώβββββο»Ώβββο»Ώβββββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
and βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώββββο»Ώββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβββββββββββββββο»Ώββββο»Ώββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ(User => Name)βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββο»Ώββο»Ώββββο»Ώβο»Ώβββββββββο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββο»Ώββο»Ώββββο»Ώβο»Ώβββββββββο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
Composing these together, we get βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβββββββββββο»Ώβο»Ώββο»Ώββββο»Ώββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβββββββββββο»Ώβο»Ώββο»Ώββββο»Ώββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ(Model => LoginContext => User => Name)βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββο»Ώβββο»Ώβββββο»Ώβββο»Ώβο»Ώβββββββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββο»Ώβββο»Ώβββββο»Ώβββο»Ώβο»Ώβββββββββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
. Since lenses compose, we can therefore create a lens βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβββββο»Ώβββββββββββββββββο»Ώβο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβββββο»Ώβββββββββββββββββο»Ώβο»Ώβββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»ΏβModel => Nameβββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββο»Ώββββο»Ώβββο»Ώββο»Ώβββββββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώββββο»Ώββββο»Ώβββο»Ώββο»Ώβββββββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
from those smaller lenses.βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββο»Ώββββο»Ώο»Ώβββο»Ώβο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββο»Ώββββββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββο»Ώββββο»Ώο»Ώβββο»Ώβο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
const modelToUserLens: Lens<Model, User> = composeLens(
loginContextLens,
userLens
);
const modelToNameLens: Lens<Model, string> = composeLens(
modelToUserLens,
nameLens
);
// we can now also create a birthdate lens, using the same lens to focus onto the user, composed with a User => BirthDate lens
const birthDateLens: Lens<User, Date> = {
get: (user) => user.birthDate,
set: (user, birthDate) => ({ ...user, birthDate }),
};
const modelToBirthDateLens: Lens<Model, Date> = composeLens(
modelToUserLens,
birthDateLens
);βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββββββο»Ώββο»Ώβββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώββββββββο»Ώββο»Ώβββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββββββο»Ώο»Ώβ
const updatedUser = userNameLens.set(model, "Simen");βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβο»Ώββο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώβο»Ώββο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββο»Ώο»Ώβββββββββββββο»Ώο»Ώβ
Why use lenses?βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββο»Ώβββββο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββββββο»Ώβββββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββο»Ώβββββο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββββββββββββββββββο»Ώβββββββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ
Lenses abstract away the operation of updating and extracting values from deep immutable data structures. This means that β in theory β consumers that solely use lenses to work on some data structure, has to know very little about how the model is actually structured. The impact of such an abstraction is greatest when returning to refactor some part of the model, where β in a dream world β only the lenses has to be changed. Without composition in such a pattern, you would find yourself duplicating the same selectors and setters again and again from different perspectives. Such qualities are often present in functional patterns, but are not exclusive to functional programming languages. Take TypeScript for example, it is not a functional programming language, but the lens pattern can be used quite effectively. There are in general many concepts that can be learned from functional to be adopted to other paradigms, which alone should inspire everyone to learn functional programming!βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώβββββββο»Ώο»Ώββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώββββο»Ώο»Ώββββββο»Ώββο»Ώββββββββο»Ώββο»Ώββββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββο»Ώβο»Ώββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώββο»Ώββο»Ώβο»Ώβββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββο»Ώβββββββββββββο»Ώβββο»Ώβββββο»Ώβο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββββββββββββββββο»Ώββββο»Ώββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββο»Ώο»Ώο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώββββο»Ώββο»Ώο»Ώββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβββββο»Ώβο»Ώβββββββββο»Ώβββββββββββο»Ώβββββββββββββββββο»Ώβββο»Ώββο»Ώβββββββο»Ώβββο»Ώο»Ώβββο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββββββο»Ώββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββββο»Ώββββββο»Ώβββο»Ώββββββο»Ώβββο»Ώβββββββββββββββο»Ώο»Ώββο»Ώβββο»Ώβββββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώββββο»Ώββο»Ώβββββββο»Ώβββο»Ώββββο»Ώββο»Ώβββββο»Ώβο»Ώβο»Ώββββββο»Ώββο»Ώβββββο»Ώβββο»Ώββββββο»Ώββββββββββο»Ώβββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώο»Ώββο»Ώββββο»Ώο»Ώβο»Ώβο»Ώβο»Ώβββββββο»Ώβββββββο»Ώβββββββο»Ώο»Ώββββο»Ώββο»Ώο»Ώββο»Ώββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββο»Ώβββββββββββββο»Ώβββο»Ώβββββο»Ώβο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββββο»Ώββββββββββο»Ώββββββο»Ώββββββββο»Ώββββββο»Ώββββββββο»Ώο»Ώβββο»Ώβββββο»Ώβββββββο»Ώβο»Ώβββββββββο»Ώβο»Ώβββββββββο»Ώβββο»Ώβββββββββββββββββββββββο»Ώββββο»Ώββββββββββο»Ώβββο»Ώβββββββο»Ώββββββββο»Ώββο»Ώβββββββο»Ώβββο»Ώβββββββο»Ώο»Ώβ