My name is Lucie Gibaud. It's a pleasure for me to be here. It's an honour to be on Mi'kmaq territory. Thank you very much for the warm welcome of the community. It's my first visit in the Mi'kmaq community and I'm very happy to be here. So tonight I suggest to talk together about how to legally protect indigenous culture and please feel free anytime you have a question, anytime that you perhaps feel free to contribute or if I'm not clear I don't mind at all if you interrupt me and ask a question. We have at least an hour and a half in front of us so let's feel comfortable and I hope that this will not be just from me but also a conversation with you because I really want this to be a conversation that we have together about a very interesting topic of how to protect indigenous culture. So tonight to start off this is what I plan to discuss just a bit a little bit of information about me so that you know who you're talking to. Then just some view of Mi'kmaq culture in the context of today's or tonight's presentation. Then how the law works. We're talking about legal protection of indigenous culture so we will see together that it's not so well cut out currently for the protection of indigenous culture and I will explain to you why not and then hopefully we can throughout have a conversation and come to you know where do we go from here and what can we do about it. So this is tonight's program and let's start. So a bit a little bit about me it's a bit small I hope that you all can see at the back. So my name is Lucie Guibo. I was born and raised in Montreal from French ancestors and I studied therefore law at University of Montreal in French and in June of 97 I left Montreal and I went to live in the Netherlands and I spent 20 years in the Netherlands working at the University of Amsterdam so I'm academic by profession. I worked back in Montreal for maybe a year and a half in a big law firm and I really disliked it tremendously and that's almost the kick the reason that let me leave Montreal to to go to University of Amsterdam where I spent 20 years and I joined the Schulich Law School last summer in July so I'm very happy to be a member of the law school now and I'm a therefore new resident of the beautiful province of Nova Scotia and I worked there for 20 years in the field of copyright law and all those years working at the University of Amsterdam I also tried to research about copyright law about the balance that should be reached to balance the interests of authors and users and unfortunately many times I noticed in my research and also sometimes I became a bit of an advocate for the rights of the authors or for the rights of the users but many times I noticed that actually it's mainly the interests of the intermediaries of the big companies in the middle that are being listened to and it becomes a bit frustrating to be to say the least and what brings me to tonight's topic is well I also see that copyright law is often please welcome copyright law is one legal regime that is often presented as a one-size-fits-all that's you know if it if a work or if a cultural expression doesn't fit the copyright act then it's not protected and then that's the end of the story and we'll see tonight that well there should not be necessarily a one-size-fits-all and there are many reasons and in many such circumstances where maybe we should think of adapting to the system or finding a new system and I think that indigenous culture is certainly it's a beautiful culture it deserves to be protected and I would really be happy to do more research and to try to find a solution together to find a better way to protect it than currently but we'll discuss tonight how things work so that we can start thinking together or how to make things better okay I found these there's a beautiful you I guess will recognize most of these we here unfortunately the the image is not very clear and you may recognize some of them I don't know if this it's I don't know the it's a bit clearer I find this do you do you recognize this can you talk to me about it a bit anyone it's empowerment by David Brooks and is it a painting or is it stained glass it's a painting it's beautiful and does anyone know where it is hanging where it's being okay and so some some of his work are hanging and some are book covers or a bit everywhere all over yes but what he makes is beautiful yes in the middle oh well now I blurred it ah yes in the middle but it's blurred you have a dancer a traditional dancer I think well I must be honest I took those pictures from the internet so here I tried to give credit where I could because I found the name of the author and the title of the work this is a traditional dancer mcmaw dancer a beautiful dress yeah oh please also excuse yes and Dutch so sometimes I lose my my English because of the French and the Dutch so please forgive me if I don't always find the correct words this is a poster I also found I think it was advertising an event of the mcmaw community in the recent years and what I liked about it it it depicts I think some dreams and some legends and I don't know if you can see it a bit clearly but it's certainly a very colorful and beautiful poster that gave the idea of conveying somewhat of a a known legend for your community but maybe I'm wrong and of course loose cup is that how you pronounce it loose cup and who's few meters that way I think yes beautiful statue so those are all different types of cultural expressions some may be protected by copyright or by other regimes but others are not and this is what I'd like to explain to you tonight when some are when are some are not but why is it that we should protect it and and I think this is also clear this is this is clear to me and it clear to you that culture is a a communities or a people's identity it conveys values and ideals and meaning so and and that's why because it's so close to a a populations or people's identity it deserves to be protected and this has been recognized in the United Nations declaration on the rights of indigenous people it also has been recognized in the UNESCO convention on cultural diversity so it's clear that the link between a the culture and a community needs to be protected so and of course protecting yes yes yes right not just culture under the UN and a culture but at the UN international level there's protection on and aboriginal traditional knowledge and intellectual knowledge and I'm just wondering when you talk about culture, how can I talk about the bigger intellectual property and all that I know it's a big issue yes you're right actually that the work that's going currently going on at the international level treats three three aspects one is genetic resources it can be the genetic resources of the population it could also be the genetic resources of the fauna or flora in a particular territory so that's one traditional knowledge is also something that's being discussed and the knowledge is is a bit different from culture it's closer to know how it's how to use plants perhaps for medicinal cures or other know-how is how to deal with the environment that you live in yes and the third one in that discussion this international discussion is the traditional cultural expression and you're right to raise it and I forgot to say that tonight I'd like to concentrate on the cultural expressions because the other two types you know the genetic resources and the traditional knowledge they're closer to other types of intellectual property rights than those that I'd like to talk to discuss tonight so the cultural expressions they would be protected if at all under the copyright regime where genetics resources and traditional knowledge might be protected if at all on their patent law and I didn't want to mainly I don't know if you agree well I could come back another time and and talk about genetic resources but I thought that tonight we could focus on cultural expressions holistic the resources really hard to put into categories it's just a lot of gray area yes yes yes you have to understand our ways because from the beginning up when we're born we're raised this way I'm thinking well for me anyway my family was not part of residential school so my family never been assimilated into that residential school thinking and stuff again so my way of thinking was always good yes because from my perspective I'm looking at this and I'm talking about culture and stuff like that I was raised in treaty I got from when I was a little kid I was raised in treaty no my treaty rights no my culture no my ceremony everything that we do is based on ceremony and tradition and treaty rights everything we do 24-7 is ceremony I and this is the thing I was saying it's like we're going to look at it as copyrighted cultural expressions but I know Aboriginal students that go to law it's one of the hardest things in the world not because we can't read or write no but to be as a separate what laws able to do and law has to isolate it and make tests and then apply those tests and if they don't work then we need to go and challenge that law and challenge that test so she's going to have to to give us this presentation based on a cutout piece yeah as a sample but for us to know that there's cultural expressions in a category but but we can also come back and look at abacus yes it's the medicines that you get from a plant that's like a generic resource and yes the genetic makeup and there's a hole yes the DNA yes an international law that's talking about it so it would be a course on its own not even just a present but I think this conversation was good to let us know that right now we're looking at law and how it's applied to one area one pillar but that we know that there's the lines are really great for all of Aboriginal knowledge and all of our resources and all of our cultural uses thank you but you know this is what I know now and this is well two things first I have to be very candid with all of you that this is a subject that I'm just exploring since very recently because as I just explained I moved after 20 years of living in the Netherlands I moved here I want I really care about this issue but I'm just starting my research in it so so that's the first I'm candid I'm starting but the second part is I understand what you're saying also what you're saying and your gift to me is to make me understand your way of understanding you know so I want this to be conversation and I want you to explain to me how things work for you so that we can work together and trying to find solutions now I will remember not to put things in boxes yes I know and my task is to understand how the treaty law works especially in in the finesse in the in the subtleties in the details of this topic which is complex in the in the white minds world but it's also complex I'm sure under treaty law so I'm starting off this as a as a dialogue yes and I hope that it will be ongoing I don't I'd like to be back perhaps not as a presentation but perhaps to have discussions in the future so that we can meet and understand each other because see I think my strong point is that I really know very well how the regime and how the system works and the day that I will understand how your system works I hope that will will be able to to create something new that will fit the needs of the community so that's my wish and I'm not the only that the courts will listen to in Canada yet but what she's gonna talk to us about now is copyright law and how to protect the owners of it so we can learn about that and then apply it to our way of thinking it'd be good if you had notes so we could take notes if you need if you need there's a pad of paper and our pens at the back if you want yes yes good good okay well let's go back to what I prepared and then we'll after that well we'll get through it and then after that we can really have the discussion yeah okay so well of course just to go back anyway you know this but it needs to be emphasized every time every every time again is well you know indeed protecting indigenous culture is vital because it allows it preserves the culture of the community it allows the culture to grow because culture is a living living thing it's not static you know you you evolve with your culture and the culture evolves with you so it's very important and well why do we protect it especially for the last point I guess to prevent appropriation by others and I know last year and it comes in in the newspapers every once in a while that you will see that indigenous culture will be used by non-related people and will usually companies or or sometimes unaware people that are who are unaware and and very often they will make money out of either the genetic resources or the the culture and and the community will not benefit and this is this is really wrong so by by finding a system that will allow us to protect indigenous culture hopefully we will be able to prevent such appropriation by third parties okay so this is from the literature and and this is where the the discussion with you guys with the community will will allow me to pinpoint better what do we want to protect well this is what I gathered from the literature there are three main elements I think that we would like to protect first we want to make sure that attribution or that the source of the cultural object is being given meaning that Glooscap we all know is a Miqmar statue it's a Miqmar legend it should be attributed to the Miqmar community and it should not be attributed to anybody else in the Miqmar community so that's one recognition where does this cultural expression comes from second one the possibility to control to preserve to safeguard the culture so who should have a say on what happens to the Glooscap legend well it's the Miqmar community not anybody else so the power to decide what what happens with this element of culture and whether or not to exploit it or whether or not to keep it secret there are rituals and this is also what I'd like to learn from you guys there are elements that you agree to make public but there are also other elements I'm sure that should remain secret but the problem is that we white people we don't know which is which and there might be thank you but the sacred items should not be made public so should be kept secret no yeah my my dad's from New Brunswick my mom's from Nova Scotia so they speak well my mom doesn't really speak Miqmar she lost that with like residential schools and stuff but my dad doesn't really speak to my mom even in Miqmar or try to because their Miqmar is a lot different than ours and so like Nova Scotians judge like like a lot of Cape Brightoners will judge how people in New Brunswick speak Miqmar because it's so different so yeah so you refrain from speaking because there are differences in dialect that's too bad isn't it because I guess like back in the day like they would make fun of him for like it's different and like well like even like now not even back in the day too but like you'll hear them sometimes making fun of how like oh they're saying it wrong they're saying oh this is how you say it like this and every community is different yeah but believe me that's not typical Miqmar that we he comes from a village in the south of the Netherlands he speaks one dialect which I learned to understand but about 20 kilometers further there's another village has a totally different dialect just small distance and they also tease each other oh we go to Newfoundland and they're supposed to speak English and we don't understand anything so but although I understand the differences in dialect I would find it a pity if people refrain from talking because of being teased because this to me sounds like I think more what I was going with it was like like they they like to keep their language more like sacred like I never really see well actually you know that's why I do because there are some teachers and stuff at the schools who are not new but they they do know like that's just because they work in the school system so they kind of like have to teach it to I don't really see too many white people early yeah I feel like if someone's gonna take the time to teach you like they teach their own yeah yeah yeah that's like the medicine yeah I know our elders a lot of our elders refuse to share the medicines with non-natives and it's not a race team it's because we do because we do ceremony when we pick our medicines and we make it it's very safe that again it won't back to that safety mess but when you try to show this to a non-native a lot of things that happen and this happens in our own with our own people they go out and they pick all the medicines from that area when they do that all that medicine is gone from that area so this is why our elders try to keep them safe yeah like we have black ash trees that like our like secretly plant all over the place because they don't want people going in my caravastin there we go so like there's things like that like yeah I have a question on who owns the knowledge the people and everything so I don't know if that's too big for right now no it's coming so there we go so so we're getting into now the core of the subject that go copyright law so this how does copyright law work so copyright I think is the main legal regime that we would use to protect cultural expressions you also have performers rights but it's it's integrated into the copyright act in Canada so let's just call it copyright law but copyright law applies to certain a certain type of works for example songs paintings dances sculptures so what copyright law protects is any work made by an individual or a group of individuals that is original and this is this is a problem perhaps for cultural expressions traditional cultural expressions that for copyright law to apply a work must not be copied and must be the own intellectual creation or does show some skill and judgment on the part of the author so an expression that comes from generation to generation and as being handed down from grandmother to granddaughter etc will not be original in the sense of the corporate act usually copyright law applies to works that are fixed on a tangible medium and this would also eliminate legends for example because legends are oral legends are not fixed you know the legend will be protected as soon as it is written on paper or recorded yes like a book like a CD or stuff but if it's just an oral tradition if it's not fixed on a tangible medium then it will not be protected by copyright and I must admit that this has never been tested by the courts it could it's changeable yes it could I guess I think the challenge with this whole area yes exactly so here I have a little doll that I also found on the internet to be quite honest and it's made by crystal yes thank you you recognize it yes well that's what I thought that's what I thought but I also assumed maybe I'm wrong but I also assumed that that her dolls are each unique and that she creates those dolls and that she doesn't copy those dolls from anyone so my assumption is therefore that because those dolls are fixed on a tangible medium they're original because she creates them from herself she's the main author and their their category of works that you know that falls under the copyright act so most probably her dolls are protected by copyright law that's a good question which I forgot to mention copyright is automatic just by creating something original you get protection so and the protection lasts for the life of the author plus in Canada plus 50 years after the death in other countries like the United States and Europe it's the life of the author plus 70 years after the author's death meaning well you don't yeah the you make a distinction in law between the tangible and called embodiment of that print and the work itself so the work will be protected for the life of the author plus 70 years or plus 50 years after the death the prints will be protected for the same period so even if you make one print or 70 prints it's that work it's the design or it's the drawing or it's the painting that will be protected for for so long so those little dolls are most likely protected by copyright law that she could she could sue she could institute legal proceedings claiming copyright infringement so she could take the the other person who copies her work to court for copyright infringement well in principle putting something on the internet doesn't mean that you give permission for anyone to use sometimes there is a permission because sometimes you will see that there's a license allowing you so a text to contract allowing you to use for certain purposes or to use freely or but mainly things that are on the internet well are subject to copyright law if if the original you know they're certainly fixed on the tangible medium and if they if they fall within the category of works that are that copyright protects so in principle works that are put on the internet are protected and if you copy them like that this is why I say I took this little doll and you could almost say that I'm infringing Mrs. Gloward's copyright I will say that it's for yes for review for criticism or for you know there are exceptions in the copyright act that would allow me to do certain fair dealing or certain uses and I think giving a presentation tonight might fall under the exception of the corporate act but in general you can't just take things from the internet because yes well that's what I tried to do here I put the name of the artist below although it's fuzzy and I'm sorry but the intention is there and I did mention yes and if you quote you put between quotation mark and you give the reference so this is this is allowed you always allowed to quote absolutely so this is the situation on the corporate act but it also is complemented by other regimes that might be applicable to certain types of expression so we just saw corporate law which protects works of art we could also invoke trademark law and trademark law protects signs and slogans and you will see here this is a this is a very interesting website if you're curious two year yes I IP in so IP in cultural heritage I intellectual property issues in cultural heritage and the website is I think partly formed with IP inch so this would be protectable under the trademark act and trademark you know I'm sure you can give me a whole bunch of examples of trademarks Coca-Cola Nike you know those are all trademarks but they could also the trademark law could be useful to protect some of your slogans or or signs that you use to identify the mcmole community and some of the websites of the mcmole community do have a very nice logo or or slogan now trademark law could be useful to protect those thank you very good question trademark you would need to apply for it and you apply for it at the Canadian intellectual property office in Ottawa it's well compared to patent law it's not very expensive because it's $200 instead of a few thousand dollars but then you get protection of your trademark for at least a period of well the law will change initially it was for a period of 15 years and they will change to a period of 10 years but you can renew the registration of the trademark as long as you use the trademark so in principle and this is why Coca-Cola trademark is protected you know they keep you in you and the certificate to protection of the Coca-Cola trademark so that's also a very good question it's yes good no don't be sorry I love this it's protected throughout Canada so it's per country if you want protection in Canada in the United States for example you would need to apply in both countries Europe is a bit different because they they have one registration of trademark in Spain and that will count for the whole territory of the European Union but in Canada if you apply at the CEPO at the Canadian intellectual property office that will be valid throughout Canada so for certain types of signs and slogans trademark could be useful industrial design could also be useful industrial design is also not automatic you also need to apply for it it's less expensive than a trademark it's also at the Canadian intellectual property office but it basically protects the visual aspect of a useful object so it will protect this is a quilt it will protect the design of the quilt the only downside is that for industrial design the design must be new so again the problem of traditional knowledge or the traditional cultural expression is that if these designs are part of your tradition and I have existed for hundreds of years then they will not meet the criterion of novelty and you will not be able to register for industrial design and the maximum protection of industrial design anyway is only 20 years so it's not really interesting because the protection is too short for the purposes of really guaranteeing a level of protection of at least of that type of design well the idea is that the they will protect things like fashion the or useful objects and the idea behind it is that companies who engage in the production of such goods that there's a mode there's a trend and that's after 20 years of protection it should become in the public domain so that everybody can use the same design and that the company who has produced those goods they they made their profit already so they don't need an extra protection it's just the fundamental purpose of that system does not align well does not fit at all with traditional knowledge because it's the industrial design it's for the industry an industry that rolls a bit like the fashion industry you know you have one season another so if you have 20 years that's already too much but if you make you know if you make a lamp a very fancy lamp even in furniture in all those types of objects there's mode there's trend it rolls very fast so that's what I'm getting at is that the purpose of these IP rights yes I know well that's outrageous so and that's because the dreamcatcher cannot be projected by copyright mainly because not because it's not a work you could also consider it to be a work a bit like the dolls it's tangible etc but because the the dreamcatcher is part of the tradition it's not original anymore and it's not a trademark it's not a sign and and it's certainly not an industrial design so it just doesn't fit in any of these rights protest in the the sports shirts yes and so it's a whole area of law that is developing at the national and international level because people are pushing for it but there's nothing here in laws that fit good that's why we're like well that makes no sense for us or we were not going to fit into that and this is why I'm here mine no well I hope so but this is a this is exactly why I'm here because the the problem we're so far from a solution anyway so keep going time flies when we're having fun yeah so what the law does not protect well it doesn't protect traditional cultural expressions transmitted from generation to generation mainly those expressions that form part of the identity and heritage of a traditional or indigenous community it does not prevent the use of sacred and spiritual objects because you see you know I discuss copyright law and trademark law and industrial design that's that's all for really commercial objects it doesn't protect at all anything sacred and it does not safeguard or preserve or promote culture it's a you know those rights copyright and trademark they're there to stop others from using which might be useful for traditional cultural heritage but it's it's it does not promote it in a in a in a useful way so this is what you've been alluding to there has been for decades now discussions mainly at the World Intellectual Property Organization is located in Geneva in Switzerland and into in the year 2000 the WIPO created the Intergovernmental Committee the IGC and this committee has the mandate to examine and to discuss the issues relating to genetic resources traditional knowledge and traditional cultural expressions so they examine all three of them and if you go on the WIPO it's the WIPO.int website you will see all the documents they're very transparent and you can find all the documentation that you want but you will also see that they're not close to a solution the two years ago they came up with a draft treaty with three parts so one part for genetic resources one part for traditional knowledge and one part for what they call folklore and traditional cultural expressions I prefer the traditional cultural expressions because I find folklore not not representative not not nice anyway but the treaty in three parts it's a very it's a technique of the of the drafters to put all the elements on which they don't have a consensus in brackets so the treaty actually is full of brackets because there's no consensus on almost anything in that document and what I find interesting to say is this is a picture of the main room at the WIPO it's the it's the main audience auditorium I would say the assembly hall it contains enough space for delegations of 186 countries plus at least 60 observers at the back of the room so and this is just a picture of that negotiations are incredibly difficult the legal gaps are humongous I just gave you now a short overview of all the gaps that we can find in in the current law that really doesn't fit the needs of indigenous culture and only I talk to you only about the traditional cultural expression side of it and we also have the traditional knowledge and the genetic resources so putting everything in a box the thing is it's almost impossible for them now to reach a consensus on how to go forward and what I also find interesting is that to my surprise when I read the documents I find that the Canadian government has a really low profile on these issues I don't know if you may know but there is a fund to sponsor indigenous communities to go take part in the discussion so the WIPO will fund if you ask for it ahead of time they will fund the trips of certain communities to go take part in the discussion I don't know if you were aware of that yes you went exhausting people didn't even sleep you didn't even leave there and we're setting up for people's things that we were all lobbying to get included were in brackets then the next reading that came out they were no first it was there then they were in brackets nobody could agree everybody's battling then it's out of brackets and then it's in brackets but it's not even in the text at all and this goes on for days and days and days but the final negotiations but the treaties are taken years and years and a lot of lobbying there's not enough Aboriginal people at the international level we can walk into those doors we can register we can go in but there's not enough of us that are going there because it's very expensive to go to landings yes it's very boring very technical you have to really really learn to read the documents have to learn the protocols of who gets to speak and when and nations can speak at some of the treaty parties but others there's no place for indigenous peoples to speak uh the permanent forum you can speak climate convention by diversity you can't so it's it's we need more people there i want to take a whole kinds of people i want to do u n university and then go with a bunch of people but the plunge is very selective yeah it's hard might do one or two people and it might be somebody that the a friend sends or the national women's association so it's not that useful you have to find ways yeah uh you had a question okay what you guys were talking about is tripartite and stuff like that is that creating a new treaty is that what you're talking about the wife of world intellectual property they're looking at an international treaty so everybody in the world we know in all our treaties are international no no no international treaty bodies under the united nations that's different than what we're talking about maybe my treaties United Nations they have so many treaty bodies so one is the Canadian human right or the universal declaration human rights convention on biodiversity um so there's and i i can do a with um we can talk more later if you guys want to do some u n kind of workshops um to explain but i have posters and diagrams Madonna that i can share with you that show you the different treaty bodies and the work being done under each of them so when we talk about u n treaty bodies we're not talking about treaties like the nation big law treaties or anything like that it's the international united right yes and the treaties are with nations that sign up for these treaties so Canada doesn't sign into an international treaty or not i understand what you're saying but it doesn't fit within the way we're using the language now under international conventions conventions that states sign up for i have diagrams that i'll like things that i'll show you yes i i respect that that's uh and i i fully agree with everything you say um i think if perhaps could you see it um she sees it as a sovereign no yes it's okay um yeah but basically it's almost it's almost impossible to to to negotiate right now a new treaty for the protection of indigenous knowledge or culture it's uh i'm amazed you've been there and at least for biodiversity it's it's a it's a highly frustrating system you so you were there for the five days of the negotiation yes yeah that takes a lot of stamina to go through all that i i know i i only witnessed from very closely the America treaty i don't know if you heard of the America treaty for the exception on copyright for the visually impaired and blind people it was negotiated in 2013 in marrakech very warm anyway but it was the same type of ongoing negotiation that and and you will see the whole negotiation process is utterly frustrating for any party who's not part of the national delegation because the only people who have the power to negotiate are the national delegations so that the in our case it would be the delegation from Ottawa from the ministry of foreign affairs uh and they may or may not voice the interests yes i know there are all states that agree to to enter into this um this game not not a game but into a conversation where they all agree if we can come to terms and agree on something then that's going to be the law that we abide by because it's a joint treaty so the universal human rights is um all the countries that signed up and then agreed to the text and then signed off on it are parties under that treaty so it's an international treaty it can they can make treaties people can make treaties at the international level um but i understand what you're saying they make it it's sort of like uh how can i put it if you voluntarily say okay let's six of us join a group and let's all six of us make the rules of this group we all agree we all sign on we're all parties to that pact so that's what it is international country sort of that's what but you can see i understand why i'm i'm so uh weary about this doesn't matter if you're weary or not the international happens with us we have international all our treaty rights are engineering i know but that's separate and apart from the conversation we're having now we haven't talked in above because we're the parties that yeah yeah and i sort of like say you're going to this ring and you're going to play a game and you're going to talk about the rules of that game that's within a box within arena within the game plan within the rules before you go that's sort of what international is and law what we're talking about is sovereignty and rights and and indigenous nations not recognized state nations the conversation in heaven is too big for the lecture today i'm sorry it's very real yes it's almost parallel yeah yeah thank you well that so seeing the and past seeing the dead end at the international level at least for now there might be in the long run but you need a lot of stamina to go through to wait and to negotiate so there might be something that we can do nationally or even locally to try to find solutions and this is where i'm getting at so what are the canadian efforts now canadian efforts at the international level are not very big the delegation is rather small and i they don't seem to be proactive in those discussion on indigenous knowledge you certainly seem to know more so it's i didn't dream it i don't understand why on the one hand the government current government seems to put forward the whole idea of reconciliation and indigenous rise and on the other hand in such discussions on protecting indigenous culture they don't seem to be at all proactive or proposing solutions or whatever so what can we do at national level so at national level there's not much case law that's useful the the one case the one decision that i found that does refer to sacred oral tradition was this case from british columbia but it's already very old and apparently courts have not had the occasion to test uh the protection or yeah of any type of cultural heritage expression so um what about the provincial level so there's no there's no federal act that's uh except for copyright or trademark law industrial design there's not really anything that that gives us any solution what about the provincial level now the only province where i found something with kebek where they have this cultural heritage register where they specifically uh recognize the cultural heritage status of five which i i uh put together because of space on the slide but five types of uh traditional cultural expressions first one is the inuit throat singing is recognized as a cultural heritage uh aboriginal dances traditional dress uh pow wow ceremonies and drum um playing so uh they took this up in a register of cultural heritage the register further contains a lot of references to uh physical heritage meaning buildings or parks or uh so that these are five items that are immaterial but they're they're together into a register that basically deals with buildings traditional buildings historical buildings and in other provinces where i looked i only came across such registers that only talk about buildings and parks but not about the culture and which anyway um doesn't say much i mean it's a good gesture of kebek perhaps but it doesn't give any right on any community to prevent others from uh using or from exploiting those uh types of expressions they just uh declared to be ever you know the kebeks or part of the of the province's cultural heritage but doesn't give any community the right to step to court or to prevent in any way so it it's not worth much in practice um i also read uh that sometimes private entities will intervene to stop things oh shiagah festival um i'm not the festival goer i think it's a music festival for young people and because there were incidents a few years back to back of young people coming with headdress uh to the festival uh this made a stop to it so from now on but this is a private entity so private entity the the festival organizers said from now on no one will be admitted on the on the uh premises of the festival if they're wearing a headdress so that put a stop to it but it's also again it's not a actual right given to a community to enforce their right or the the the a claim against third parties it's just a private entity saying well you know we shall all respect headdress and that's it um so and this is the question i'm asking to you uh tonight so what does indigenous or micma law and traditions say and this is where uh i'd like to hear from you leading into the next slide so to me the objective would be to develop a system of protection that can coexist with the current legal framework because well we need a solution for um traditional cultural expressions but we won't get rid of the copyright act we won't get rid of the trademark act or the industrial design so that's there to stay so how can we figure out how to protect traditional cultural expressions and also genetic resources and traditional knowledge in a way that can coexist with the normal legal legal framework and this is where i'd like to go into dialogue either tonight or other opportunities other meetings that we could have trying to figure out you know what type of expressions need protection what type of protection is needed um uh who would benefit from the protection uh and whether the terms uh am i forgetting especially madonna when you're thinking human knowledge how is it protected within the micma nation we talked briefly in class yesterday that there's all this work done at the international level sub work at the national level absolutely zero on the ground in micma nation on how to protect traditional knowledge what is it what are cultural expressions how would we there's there it's just an area that people um it's not transcending but uh no one what i'm saying is if first if somebody wanted to come here and say where do i go to the micma nation to give permission to use the point stuff they can go pretty much there's there's nothing we have not coordinated organized or recognize um traditional knowledge cultural expressions or anything in order like we just never even have a lot of so like what we should be talking about is things to protect like almost like our resources such as like um like we shouldn't be well we shouldn't um like i've heard a lot of elders say that they will not buy medicines if you buy medicines they won't work so like should we have laws protecting like commercialization and stuff of our like our speak grass because we go to a store for example yes yes but i think it's part of it it's a big part of it but it may not be the only part of it because you also have all the sacred expressions which um it's it's not only the commercial stopping commercialization but it's also protecting in another way and i think you know uh from the white perspective uh it's also a lack of awareness at least on my part on on i think the majority's populations part lack of awareness of what what is part of your uh cultural um heritage what is it that we should in um deal with carefully and how how would you like us to deal with those objects um we don't know i'm very candid with that we we don't know like these are big issues and complications that we all need to uh i think you think about you you have a question i haven't had a question but i do have something to say i'm grizzly mama i'm from vc i'm not mismo but i'm in and the united nation we're there for our people and it's run by the grassy people and i don't understand why they talk about this traditional law i have traditions i'm from third lila we should start looking at it as a uh like you say united nation country well third island the country canada is not a country and um i'm from third lila and that's my tradition you talk about and culture like our medicine and we don't tell people where we go fairies or where we do this or where we go fishing and when we do go fishing we do a ceremony like there's a certain way to go fairies certainly because it's a certain way to hunt and for us like for for for made us come on so i'm just speaking like for everybody because i'm a chief i can do that yeah i speak for like um against the government the only way to what i understand from here are traditional law trumps the canadian law because canada is not a country and maybe united native nation is undripped they should look at third island as a whole not say nikman or gistan or both dipway or creed or or downtown they say other names like come on look at it as a big picture as a nation first island in the nation i'm your sister i'm your my brother or whatever like that's not going to get us into those doors and it's not going to take us into the laws it's not going to get us far especially where turtle island comes up with distinct magma nations and the distinct mohawk nations and so for us to group them together is the same as canada grouping of this first nation yeah that's true but i was saying is a good separating asset as a nation united look at one yes it was not my intention to separate you i wanted to have examples that spoke to you but i didn't know that you all the way from turtle island would be here tonight so no but i'd like i don't know if you found you would find find my input useful in discussions uh it's a glimpse and i'm willing to come back and i want to to really invest time in in research on this topic and to help you with um finding a solution and yes i think ideally we would find solutions that would also speak to you from turtle island and that would be useful for all the i'm not i'm not i'm i'm i'm i'm yes you know what that's a part of the conversation that we need to have around traditional knowledge is who is the magma nation because most of times they don't involve grassroots people but also that's what's it up again with uh who's the big one nation yeah well those are the decisions i really really cannot help you with talk about this should be river right yeah that's the user conversations that have been and they're true but we've been down all the gas i protect in the river so how do we and make my territory get our ducks in a row so that we could protect and even even identify what needs protected yes and who yes yes and what kind of protection and we don't know because she's showing us like rod google that's my chief of my reserve in wegema he's the so-called um portfolio in charge of wildlife lands and fisheries i believe no wildlife lands and forestry but he has never even been down so that yes right i told him about four times come down i think uh after chief that's not that's not after chiefs but the house just end your phone after this job oh no yeah well Canada was at the un level on the um conventional and biodiversity and genetic resources and they were at the un in brazil saying that indigenous peoples at the un shouldn't have a voice that indigenous peoples can speak to their delegations because we have natives on the canadian official canadian delegation to the un we indigenous people worldwide challenged canada and said you may have indigenous peoples in canada participating but you don't have indigenous peoples in mexico who have to sneak out of the country and are being killed when they go back for standing out for those rights so i think there's all kinds of room within the magma community to tell our government canada how we see things if we're not at the un level or if we don't figure it out here within the next the rest of our class the next couple weeks if we don't figure it out um i'm willing to put more time into it or who should be doing the protection or anything like that this is a really good conversation that we're having it's huge what the work that needs heat on because yeah well because my idea is indeed this is since it won't come from the top down because it's it's blocked forever because you know the the wipo the way that it works and the lack of consensus and the too many parties we that the solution won't come from there anyway any solution that comes from there may not fit your needs because it will come all the way from Geneva and may not be useful so my my suggestion is that it it would go from bottom up that it comes from you and then it trickle through all the way up to to pan canada and then perhaps wider but i mean i would be very proud if we could you know have a sense of where this community is going and what's important for this community and this i mean this community is for you to decide because i won't ever tell you who's part or not part of your community yes corporation it had never had the intention of speaking with us on a nation's nation level it never had they never speak to us on they they keep saying they have but they never will and they never they never their intentions were never that i hope it will it never helped because canada is a corporation canada it's a corporation it's like a big whole big oil industry if you look at canada corporation that's what it is and that's who it's for and they're fighting right now that's who they that's their only interest that's their number one interest is doing these big oil corporations down in guatemala down in mexico down out in their home canadian mining corporations and they're killing off all these people in guatemala i know people don't want to hear this but it's true i i know my students to talk about traditional knowledge and some of those things um but i'm gonna i'm gonna jump on that because you're not all in the field but don't know you'll be you think big um but let's look at the alton gas and we told them we're gonna do our own science and we're gonna do make my knowledge and make my science and we jumped in the shabby river right now their mcg and in your book are doing science in the river we have a a fishing scene there that we never had before we're down there counting the fish we found baby bass where alton science said it wasn't there even though our traditional knowledge holders the the guys on the river that see the bass they're there so we are building up um control over our traditional knowledge and our traditional activity and genetic resources all those terms that we talked about that you thought what does that mean it means that we're down on the ground we're doing our own things um so we are moving and organizing but the challenge is who's doing it the migman nation the community um who's gonna harness that knowledge who's gonna fight for the protection of it these are things that we have to mobilize our politicians mobilize the grassroots and educate ourselves on what all of these things are so you're not in left field madonna we are doing some of that stuff already you're not there i i you just think big and then i have to try to figure out explain how it is um happening here in Nova Scotia and migman territory but it's a real challenge like they could come in right now and take our knowledge it's totally unprotected right now they could take our genetic resources it's unprotected right now um we are an organized right now and a lot of us aren't even aware of the conversation we're having now and probably prior to this course and this lecture you guys may not have understood either this big area that we're we're getting into thank you actually we went through my slides this was the last slide do you have any other questions that i might answer um and i did i say no no okay but i uh what are your thoughts now at the end of this and i know we went all over the place the main yeah well the main message i think the main message that i can convey to you is is that basically the legal regime right now will protect a small portion of the cultural expressions uh the paintings the dolls the the the artwork that you can identify exactly and that i only talked about one of three very important element of the whole i only talked about cultural expressions but you also have traditional knowledge and genetic resources yes yes and and yes no but then i would like to reiterate my wish to come back uh and to talk to you um to try together to you know have this issue advance so you can pick my brains uh on how the law works and we can pick each other's brain on how we could make the law work for you and it may it will need to be a entirely different solution and we can test the solution on a small scale and hope that it will you know expand yes so thank you very much i really loved our conversation really i thought i i learned as much from all of you as hopefully you learned from me although you know a whole lot already but uh i hope it was clear if you have questions um i know elizabeth is uh the main person i forgot my business cards so i did put my my email address at the end i i did if you have topics feel free i have comment sheets you can write them down and we're somewhat limited by the research capabilities of the faculty um there are some topics that we just don't cover but we're always willing to look at interesting and ideal topics that might work for you yes and outside of the lecture uh framework i'm willing to come back if you find it useful can i ask you quite what is your course yeah fascinating yeah it's going to be fascinating it's a political science big mouse studies special topic course so i got to choose what i wanted to do so we're going to look at average official knowledge in different contexts um so we will touch on some of the international genetic resources we'll touch on um a lot around traditional knowledge in environment um traditional knowledge in justice uh child welfare medicines protection so we're they're just going to get a glimpse of everything and how many weeks do you have left don't worry it's a short intense class and it's their last course before they graduate so it's going to be really fun we're going at which institution uh okay like classes in the community so i get to teach now and then which is fun yes yes well thank you very much for your attention tonight and thank you for coming really and for your participation thank you


Hello, everyone. My name is Ben Slas and this is Dressed Up Performance with Closure. But about me, I'm a backend engineer at AppSplire. I'm working on large-scale systems which ingest billions of events every day, and I love Closure. Most of our backend is written in Closure, and you might ask yourself, can Closure remain viable in such a large scale? Spoilers for this question? Yes, but you need to change your mindset a bit and to adopt some behaviors and practices which will help you to solve performance-oriented problems. Every discussion about performance should have a bit of a meta discussion about performance and starting with Donald Knuth's Immortal words, premature optimization is the root of all evil, which we should put in context. We should forget about small efficiencies, say about 97% of the time. Premature optimization is the root of all evil, yet we should not pass up our opportunities in that critical 3%. What is our critical 3%? That is our infrastructure. Those are all libraries and our frameworks.  You want to provide a good API for users. You want to provide readable code for developers, both yourself and colleagues. You're working on a library or a framework, and you want it to be good, and you want to not only provide a good API, but you also want to provide a performance API. This talk, I consider a spiritual successor to the naked performance talk by Tommy in Closure Trade two years ago, and in it he provides three big ideas. One of them is little things, and those are little things which accumulate, and on your hot path they have a significant effect on your performance because they accumulate. The other big idea is data and compilers, and the other is algorithm. I'm going to be focusing mostly on the first one, but we will see later how it connects to the second two. And after this talk, I wanted to do some tinkering because that was a very interesting idea, and in it Tommy mentioned, for example, that getting in a map and an unrolled implementation of get-in have significant performance differences, and boy, what a difference. Five times faster is a dramatic improvement, and that's nothing to sneeze at. There's certainly something there, but we need some new methodologies, some new approaches to even understand how to take advantage of it, and how to squeeze the most out of closure here. And we need to get into the right mindset to solve those performance problems. But where is your problem? Most likely it's not in closure, right? I'm going to assume that your problems are first in your architecture. Maybe you're blocking, maybe you're calling multiple services and waiting for responses. Maybe just your algorithm is not correct, or you're not using the correct data structures. And that's all I have to say about that, because this is not what the talk is about. To solve the low level performance problems, you need to embrace some things. You need to embrace your runtime, which means you need to embrace the JVM first. You need to understand that JVM is a bytecode interpreter with a just-in-time compiler. A just-in-time compiler can turn that bytecode even down to assembly. And to do that, it needs to see predictable behavior. And what does predictable mean for the JVM? The JVM just-in-time compiler optimizes hotspots. Hotspots are places in your code which you hit frequently. And for example, it can inline small methods. And predictable things are things like monomorphism or branch prediction. What is monomorphism? When you dispatch through an interface to a single implementation, that call-site is monomorphic. Branch prediction. If there's an if statement, but you always take the first branch, this is quite predictable. Unpredictable is the exact opposite. Code which is very polymorphic. From a single interface, you dispatch to a variety of implementations. Allocation is unpredictable for a variety of reasons we'll talk about later. And some negated assumptions. Things like array bounce checking or branch prediction. If we can't know how they will behave, we can't optimize them away. Another thing we need to embrace and understand is the hardware. Modern hardware, modern CPUs like contiguous things. What is contiguous? Arrays are contiguous. Things that fit in cache and closures, data structures actually take advantage of it. You can see that they're implemented with very wide-backing arrays. And they're in a width which actually fits to cache loads. The opposite of that would be cache misses. Now what causes cache misses? Loading stuff from main memory. And when do we need to do that? Memory is loaded in pages. And if the object you are loading is not in the page, you need to go to another page to evict the current cache. A linked list would cause you to do that. You always point to the next node in the list and you will have to go find it. It may not be in your cache, most likely not. Every new object you allocate is allocated on the heap and you need to load it. Another thing you need to embrace is closure. That might sound ridiculous to you. This is a closure convention. This is a closure talk. Of course I embrace closure. But you need to roll up your sleeves and get right in there. You need to understand the APIs. You need to understand the implementation. You need to not be afraid to read closure code or the Java code. You need to understand why some APIs are fast and some are slow. You need to understand when and why allocations happen. And once you do all of that, it's time to profile. Always profile first. And not just profile. Profile living applications. You don't want to test your applications in a synthetic environment. And you have a variety of profiling tools. You have visual VM in the Java flight recorder. Very useful. They can give you lots of information. But I'm going to be focusing a bit on flame graphs today. Now, what are flame graphs? A flame graph is a visual representation of percent of time you spend of your CPU doing stuff and on the horizontal axis and in the vertical axis you have a visual representation of your call stack. If f calls g1 and g2, g1 and g2 are stacked on top of f. g1 calls h. h is stacked on top of g1. And we cannot spend more time in g1 and g2 than we spend in f. That wouldn't make sense. Then you can see that their stacks together are slightly smaller than f. Same for h. This is a real flame graph. I produced it from stress testing HTTP Kit with some code with rate it and JSONista and the entire metazine web tech stack, let's say. And each one of those stacks, each one of the vertical stacks we can see is laid down on top of a white block which is a function entry point. And we can look at them and ask, what's taking so much CPU? Because each one of those stacks is 10 to 13, 15 percent of our CPU. What's going on there? Where's my CPU behind stack number one? Keywordized keys. Stack number two. Parsing the query params in the request. Stack number three. Building the request map inside HTTP Kit. All of those things have been turned into actionable conclusions, pull requests to the respective repositories which produced performance improvements. Once you find out the pain points you want to fix, you can start benchmarking. And your workhorse for benchmarking is Criterium. Like we saw previously. You can use it a lot during the exploration phase. You can try a variety of implementations and to try to compare them and understand why there are so many differences between different implementations. I used it for my pull requests. You can test it for a variety of inputs and see how the results changed based on the different input. And we can see here, for example, a rough two and a half to three times improvement. Another tool is CLJ Async Profiler. Let's profile the cases we've seen previously. When we get in, we can see that we passed to a function called reduce one. And it iterates over the sequence of keys. And we need to understand what's reduced one. Why is it slow? If we unroll it, we see that when we go through a series of gets, we only pass through closure runtime get before we hit the val at method. If we dispatch through keywords, we can see how we go through the keyword method before we go to val at implemented by the map. And if we invoke the map on the keyword, we see there's almost no indirection. What's going on here? We'll see in a bit later. CLJ Async Profiler, very useful tool. You can use it interactively. You can embed it in your application. But read the documentation. Make sure you set it up correctly and of course understand the results. How to read a flame graph. Setting it up correctly. It's all in documentation, but it mainly involves setting the JVM flags correctly and making sure the kernel will let you see profiling events. Another tool very useful is JMH closure. For when you need the most accurate results, this is your go-to tool. You can set up elaborate scenarios, elaborate test matrices, but it requires some learning. This is your go-to tool. It's important to construct good test cases. Make sure you don't test your code in isolation. If you do, make sure your test cases are not synthetic. You need to understand how the JVM optimizes code. And when you understand that, when you understand how the JIT behaves, you know that you need to make sure that your function doesn't see just one type, that it doesn't just see one type of collection, one type of input argument. Those things matter. Make sure that in a single test case the same function might see a variety of inputs, which would affect how the just-in-time compiler behaves. Some of my findings. This gets into the territory of things you can apply. Not just tools, but conclusions.  They have a performance overhead, which stretches from bad to terrible. Terrible, for example, is satisfies. The rest are mostly bad. Now, you might say, well, merge, that's just 200 nanoseconds. Why should I care about that? When your performance budget is under 600 nanoseconds, 200 nanoseconds make a huge difference. These matter on your hot path, not when you're loading a config file. And there are some fast little things. Mostly reduce, reduce KV and transduce, which goes through reduce. And they are fast because, like I said previously, vectors and maps are backed by arrays. And reduce and reduce KV iterate directly on those arrays. That is very friendly when it comes to cache behavior. And plenty of my findings are taken from CLG Fast, which is a library I maintain and develop. And it implements all of those things heuristically, and I'll talk a bit about that later too. One of them is that the JIT makes a huge difference. Array clone versus arrays copy of three times faster without JIT. JIT should be turned on and it is on by default. Just ensure that. Another thing is the cost of iteration. Compared here is the throughput for get in versus the inline version of get in. And we can see that it is about two to three times faster. Here you can see the throughput change in percentages. We can also see the same for a source, for example, which can take a variadic number of arguments. And here we can see the relative speed up 50 to 60%. And we can also see a similar behavior for select keys, which is even more dramatic. We can get three to four times speed ups. Another thing to understand, and which I found is that indirection has a cost and it is measurable. Why is invoking a map faster than calling get? Two reasons. One is that when we call closureRT get, we pass, win, if, cast, reflect, and only then we dispatch to valet. Alternatively, when we invoke a map, we dispatch to valet directly. This... What's important to understand here is that RT get might see a variety of types, not necessarily I look up, which would make the if statement, for example, not be inlined, or just elided because it cannot be predicted. And then the call to valet won't be inlined. On the other hand, when we dispatch via invoking a map, we dispatch to the direct implementation directly. There is no indirection and no code that can't be optimized for a variety of reasons. And we can apply this knowledge then to write a small macro, which takes the input argument and applies it to the second argument. Then when we eliminate the indirection, we get more speed and now we understand the results that we can see in the flame graph. We from invoke call directly to valet with no indirection and no overhead. Another thing is the cost of allocation and iteration. Take equals, for example, when it gets more than two arguments, sorry, it iterates over them. Now both the rest function allocates a sequence, then that sequence has to be loaded into memory. And then when you call next, you allocate a new object.  Now the JVM is garbage collected. It can handle that pretty well, but not optimally. And that's what's important to understand here. What can you do then? What you can do is ABC. Always be compiling. And what does that mean? It means that you need to do what you can at compile time. And to turn yourself into a little human compiler. And what does a compiler do for you? It does loop enrolling. It does type specialization. It does partial application. And we will see now how you can do some of those things. For example, how can we enroll loops? Multiple arities. Let's take a source, for example. It takes a key and a value, and it might take a sequence of keys and values, then iterate over it. However, we can provide it with multiple arities for one pair, two pairs, three pairs, which will then unroll the implementation. Then we dispatch, actually, to the correct implementation instead of iteration. That can also be done via a macro. Same thing. We take the sequence of keys and values, and we enroll that into a sequence of a source. Same with get in. We take a sequence of keys, and we enroll that into a sequence of gets of the keys. We can define everything static. For example, if we have a function, which maps a composition of two functions, we can define that composition. This has two advantages. One is that we don't allocate a new object every time we call comp, and the second is that that object can be optimized, too, every time we hit foo, instead of maybe optimizing it a bit and then throwing it away. It can be optimized many more times because we hit its method, invoke method, plenty of more times. Another aspect of ABCs is to always be closing, and what's important to understand here is that at JVM compile time is all the time. We close over everything else. Let's take get in, for example. We don't know the number of keys until we get them. When we do get them, we can count them, and then we can take them apart and enroll the call to get. But what if we know the keys before we know the map? Then we only take the key and take the map later. We return a function that will take the map and already return the unrolled behavior. We close over the unrolled behavior inside the function we returned. Where can we use that? Here's an example from a library called O'Doyle Rules. We can see it calls get in on an unknown sequence. It calls update in on unknown sequences. Assos in on unknown sequence. So those are cases, both where we know and don't know where we can enroll those functions. And this is the bread and butter of what the library does. If we can speed that up, the library will be faster. And another example of closing over everything when we know it. An example is double dispatch. Double dispatch, multi methods. They take a dispatch function, they dispatch to the implementation via dispatch table, then apply it. We take an argument, apply dispatch function, get dispatch value, get the function associated to that dispatch value, and apply that. Starting from the end, we start from the unrolled implementation. First key, first function. Otherwise, second key, second function, et cetera, et cetera. Once we have the fully unrolled implementation, we need sort of current rest implementation. The current key and the rest of the behavior. Here we have a representation of that. Is the dispatch value equal to the current key? Otherwise, call a function representing the rest of the behavior, which is currently unspecified. Then take everything we don't know and turn it into an argument to the function. And let's assume we don't know anything. We don't know the dispatch value, argument, rest function, current function, or current key. Then, we actually do know the dispatch table in advance. So, we can bind those arguments first. And the key in either among you might recognize that this function can be passed to reduce kv. We can reduce over the dispatch table and compose a function which will implement the unrolled behavior. And that is how we unroll a dispatch table. Now, there's another thing here which we can eliminate is indirection. The equals function is highly polymorphic and it reflects on the type of its arguments to dispatch to the correct implementation. But we already know k's type. So, let's assume there is a function which will take the key and returns an optimized function which will check if the value is equal to key. We can just dispatch via the type. If it's a string, dispatch to equals. And voila, we have close over that as well. Now, this is not a high in the sky principle. It is used right now inside closure itself. This is the transducer implementation of map. What does it do? It closes the known things when they are known. You map over a function, you later take the reducing function, and only then you get a function that you apply to the sequence of inputs and accumulate a result. And you can carry those closed over values around. If you are familiar with the concept of operators fusion from reactive streams, it's exactly the same. And this principle writ large is the idea of data in compilers. You can create data DSLs and use them to emit very complicated and involved hierarchies of classes or functions which implement the desired behaviors. Libraries like Mali and Rated do just that. But if you think about it, what is a sequence of keys passed to get in if not a sequence of instructions how to get? So those things, those ideas actually converge. Just those are more ad hoc and specialized implementations for the same idea. And that's how you turn yourself into a human compiler. And when you do those things, you make things much easier for the jet compiler and the CPU. Your type specialization makes call sites less polymorphic. Composed functions are nested classes and the jet compiler can inline them. When you go through reduce or other implementations which dispatch on the arrays, you make the CPU itself happier. And that leaves us facing towards the future. What can we do in the future? In the future, we can hope for stronger inlining support to be added for example to close your score. Currently we have the inline-arities metadata, but we could perhaps have an inline predicate which checks the arguments themselves and let us examine them. And we can see if they are something we can unroll. We can have multi-pass compilation that will do all the things I've shown you heuristically. It will do them for us and we won't have to do that manually. And we can also have some more specialized code pass for example in the implementation of equals. You can look at it. It's quite interesting, but it is not the most optimal code path at the moment. Thank you all. My name is Wozben. This is my Twitter handle. You can find me on Twitter or on TheCloserian Slack. Good luck, enjoy the convention and happy hacking!