# Multiple Types for Objects

**URL:** <https://community.anytype.io/t/multiple-types-for-objects/3496>\
**Category:** Feature Requests\
**Tags:** Types, Properties, Tags\
**Created:** [December 3, 2021, 12:55pm UTC](https://community.anytype.io/t/multiple-types-for-objects/3496 "2021-12-03T12:55:38Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![AlexanderV](https://community.anytype.io/letter_avatar_proxy/v4/letter/a/e19adc/32.png) [@AlexanderV](https://community.anytype.io/u/AlexanderV)\
**Post date:** [December 3, 2021, 12:55pm UTC](https://community.anytype.io/t/multiple-types-for-objects/3496/1 "2021-12-03T12:55:39Z")

</div>

**Is your feature request related to a problem? Please describe.**  
I first came across this in this case:  
I created a Type “Abbreviation” to be able to link used abbreviations through my notes.  
Then I decided that I also want to have a definition for what that abbreviation stands for - a candidate for a Type “Definition”.  
Now I would like to have the possibility to create an Object that is an Abbreviation (with the respective relations), as well as a Definition.

Probably someone already thought about this, but I could’t find it here. Please share your thoughts!

**Describe the solution you’d like**  
I’m not sure about the best solution for this, maybe it relates to different features.  
I’d like to discuss this case - also in other possible scenarios.

**Describe alternatives you’ve considered**  
Nothing yet. Open for suggestions.

**Additional context**  
Nothing that seems relevant atm.

---

<div class="post-metadata">

**Author:** ![lynxlove](https://community.anytype.io/user_avatar/community.anytype.io/lynxlove/32/1139_2.png) [@lynxlove](https://community.anytype.io/u/lynxlove)\
**Post date:** [December 3, 2021, 1:46pm UTC](https://community.anytype.io/t/multiple-types-for-objects/3496/2 "2021-12-03T13:46:56Z")

</div>

> [@Ability to add a template within another template](https://community.anytype.io/t/create-new-blank-object-when-creating-a-new-object-in-a-set-that-includes-a-link-to-a-template/3348):
>
> Is your feature request related to a problem? Please describe. I tried to explain here [How to create new note with every object created in a set](https://community.anytype.io/t/how-to-create-new-note-with-every-object-created-in-a-set/3324) and i could not find another feature-request or bug related to this problem. Did not know how to describe it short in the title, tbh. Describe the solution you’d like If i create a new template an link to a “Template of a note” or “Template of a new object” i created and i create a new object in the Set, a new object should get created, not everythi…

The above request would solve type composition. You create a template for abbreviation, in the relation for definition, you add a link to a definition’s template to be used when creating the definition page. So when you create a abbreviation page from the template, a new definition page based on the template linked is created and added to the definition relation of the abbreviation page

* * *

There could be other ideas to achieve the same which could be tracked in this request 😄

---

<div class="post-metadata">

**Author:** ![AlexanderV](https://community.anytype.io/letter_avatar_proxy/v4/letter/a/e19adc/32.png) [@AlexanderV](https://community.anytype.io/u/AlexanderV)\
**Post date:** [December 3, 2021, 3:11pm UTC](https://community.anytype.io/t/multiple-types-for-objects/3496/3 "2021-12-03T15:11:17Z")

</div>

Okay. I needed quite some time to understand what problem @natrius has 😅, but I think I got it now.

In your suggestion you would create two objects - 1 Abbreviation and 1 Definition. And they are finally linked together and (with the references FR) even created together.  
However, I want a **single** object _behave_ like or even _be_ both: an Abbreviation and a Definition.  
Then, when I create a set of Abbreviations, I have them all, as well as all Definitions in a set of Definitions.  
Because the important point is that the relations of both Types are part of that new object.

I now found this, where you, @lynxlove, propose sub-typing / inheritance. I guess, this is similar to my proposal.  
However, I would say that Composition is superior to Inheritance 😉

> [@Sub-Types](https://community.anytype.io/t/sub-types/2271):
>
> Anytype’s idea of having types, objects, relations metaphor to model data is certainly new in Note taking apps. Since types are used to model real world entity, it would be great to have subtypes which would help Anytypers to model and group real world data in a much more understandable manner. Here is an example of where such feature would help the user to better structure their data: Say a user has a type named Animal. The animal type would contain common relations belonging to all animals s…

---

<div class="post-metadata">

**Author:** ![Blackhard](https://community.anytype.io/letter_avatar_proxy/v4/letter/b/4491bb/32.png) [@Blackhard](https://community.anytype.io/u/Blackhard)\
**Post date:** [February 2, 2022, 7:05am UTC](https://community.anytype.io/t/multiple-types-for-objects/3496/4 "2022-02-02T07:05:07Z")

</div>

Maybe you need something like this?

 ![2022-02-02_10-02-24](https://community.anytype.io/uploads/default/original/2X/4/41d35590e9a9cc017bad1de5a2765706550e39a0.png)

---

<div class="post-metadata">

**Author:** ![QuantumJump](https://community.anytype.io/letter_avatar_proxy/v4/letter/q/f14d63/32.png) [@QuantumJump](https://community.anytype.io/u/QuantumJump)\
**Post date:** [February 4, 2022, 5:32pm UTC](https://community.anytype.io/t/multiple-types-for-objects/3496/5 "2022-02-04T17:32:33Z")

</div>

Seconding my support of type composition over inheritance - having recently started messing around with the [Entity Component System](https://en.wikipedia.org/wiki/Entity_component_system) data architecture, I’ve found composition much more flexible than inheritance, as it avoids a lot of the dependency issues.

I also agree with OP that @lynxlove, the creating new blank object thing wouldn’t quite solve the problem of type composition. In a proper composition system your “types” would be a list of relations objects have in common, but rather than having to inherit like subtypes do, they would simply be able to be combined additively on a single object.

For instance, say you have three types:  
Human  
Actor  
Animal

Human and Animal have their own relations set, and Actor has relations like “Awards” “Films Credited”, etc.

With type composition for Robert Downey Jr. you’d create a Human object, and then apply the Actor type to it on top, which would add Actor’s relations. Then if you wanted an Object for, say, Air Buddy, you’d create an Animal Object, and also apply the Actor type to it.

With subtypes, you’d need to create two subtypes - Human-Actor and Animal-Actor.

---

<div class="post-metadata">

**Author:** ![lynxlove](https://community.anytype.io/user_avatar/community.anytype.io/lynxlove/32/1139_2.png) [@lynxlove](https://community.anytype.io/u/lynxlove)\
**Post date:** [February 5, 2022, 2:42am UTC](https://community.anytype.io/t/multiple-types-for-objects/3496/6 "2022-02-05T02:42:57Z")

</div>

Type composition at object level certainly makes it easy to create complex types without creating a Type hierarchy tree before. I very much prefer type composition over sub classing for creating objects as well. TBH, I feel what I suggested as Sub-typing is Type composition at the type level and this request is about Type composition at the object level as all we have are relations and no methods on types. I’m okay with my request getting merged with this one since the title of this thread is much more accessible to others and both requests wants multi typed objects 😅

* * *

What I’d love is to be able to apply multiple types to both individual objects as well as to types so that one could create a complex type composed of atomic types and use that to create objects in the future. At the type, level, I’d love one more section under layout where one could add types to compose the current type and when a type is added to the list, the relations of that type should be displayed under the relations section of the new type

At the object level, I’d love to have a type composition button near the layout / relations button and once a new type is added the relations list would then have a separate section to list newly added relations from that type

---

<div class="post-metadata">

**Author:** ![AlexanderV](https://community.anytype.io/letter_avatar_proxy/v4/letter/a/e19adc/32.png) [@AlexanderV](https://community.anytype.io/u/AlexanderV)\
**Post date:** [February 5, 2022, 3:19pm UTC](https://community.anytype.io/t/multiple-types-for-objects/3496/7 "2022-02-05T15:19:45Z")

</div>

When I understand what you mean, I can change my initial request to reflect that.

> Sub-typing is Type composition at the type level and this request is about Type composition at the object level

So, you want to be able to create Types that are composed of other Types and then can also add special relations to it? And that would mean that you (could) still have an object still only of a single Type?

What would be the practical difference of the two ideas? Maybe composite Types enable to keep the object UI easier (still single Type) and pushes the complexity (composition) to the Type interfaces, which are for advanced users only anyway?  
If, from the use case perspective the ideas are the same, we should only have one of them implemented, I guess.

Any thoughts?

---

<div class="post-metadata">

**Author:** ![QuantumJump](https://community.anytype.io/letter_avatar_proxy/v4/letter/q/f14d63/32.png) [@QuantumJump](https://community.anytype.io/u/QuantumJump)\
**Post date:** [February 5, 2022, 3:33pm UTC](https://community.anytype.io/t/multiple-types-for-objects/3496/8 "2022-02-05T15:33:28Z")

</div>

I don’t see any problem with both being implemented, personally.

Type composition at the object level allows an object to have multiple types (e.g. Human & Actor)  
This is great and flexible, but if you wanted to create _lots_ of (Human+Actor) objects, it might get repetitive having to give each object both types. Allowing type composition at the _Type_ level, as lynxlove suggests, would allow you to create a single (HumanActor) type, which when you create an object of that type, simply applies both types to it.

So adding multiple separate types to the same object (as in this suggestion) is useful if you have a couple of outlier objects which need a weird type combination (e.g. Animal + Actor for Air Buddy), whereas creating a new type which is a combination of multiple types (as in lynxlove’s suggestion) is useful if you have lots of objects with a given type combination (e.g. Human + Actor for Robert Downey Jr.) I think both of these features could exist together in the final product, as they each have their own use cases, and I don’t think their implementations would interfere much with each other.

---

<div class="post-metadata">

**Author:** ![dzshch](https://community.anytype.io/letter_avatar_proxy/v4/letter/d/d6d6ee/32.png) [@dzshch](https://community.anytype.io/u/dzshch)\
**Post date:** [March 12, 2023, 5:09pm UTC](https://community.anytype.io/t/multiple-types-for-objects/3496/9 "2023-03-12T17:09:32Z")

</div>

I wonder if there an official opinion from the developers on this?  
I’m facing the same problem, sometime it’s hard to assign one specific type for an object. I really like the type composition idea an think it would solve the problem.

---

<div class="post-metadata">

**Author:** ![ignatovv](https://community.anytype.io/user_avatar/community.anytype.io/ignatovv/32/10060_2.png) [@ignatovv](https://community.anytype.io/u/ignatovv)\
**Post date:** [March 13, 2023, 11:43am UTC](https://community.anytype.io/t/multiple-types-for-objects/3496/10 "2023-03-13T11:43:10Z")

</div>

The “official opinion from the developers”. We want to introduce multytypes for objects and go to more flexible system, object type is going to be more of tag + relations + templates.

---

<div class="post-metadata">

**Author:** ![dzshch](https://community.anytype.io/letter_avatar_proxy/v4/letter/d/d6d6ee/32.png) [@dzshch](https://community.anytype.io/u/dzshch)\
**Post date:** [March 13, 2023, 12:05pm UTC](https://community.anytype.io/t/multiple-types-for-objects/3496/11 "2023-03-13T12:05:28Z")

</div>

Awesome, thank you for the reply! Is there an ETA on this?

---

<div class="post-metadata">

**Author:** ![ignatovv](https://community.anytype.io/user_avatar/community.anytype.io/ignatovv/32/10060_2.png) [@ignatovv](https://community.anytype.io/u/ignatovv)\
**Post date:** [March 13, 2023, 12:51pm UTC](https://community.anytype.io/t/multiple-types-for-objects/3496/12 "2023-03-13T12:51:48Z")

</div>

Not really, roughly this year. It depends on how may use cases it will affect positively and how much activity will be in the community about this feature

---

<div class="post-metadata">

**Author:** ![tomjackson](https://community.anytype.io/letter_avatar_proxy/v4/letter/t/7feea3/32.png) [@tomjackson](https://community.anytype.io/u/tomjackson)\
**Post date:** [April 2, 2023, 5:00pm UTC](https://community.anytype.io/t/multiple-types-for-objects/3496/13 "2023-04-02T17:00:26Z")

</div>

I’d like to add another use case for multiple types.

Take a Grape object. It can be a Consumable to keep track of how much you have left, it can be an Ingredient in a recipe, it can be a Task because you need to buy some, and, if you happen to be a wine aficionado, can contain some information about the grape plant.

If Anytype is to act as a second brain, there needs to be only one Grape concept in the graph, not multiple. It might make things messy, but collapsable headers should help quite a bit.

---

<div class="post-metadata">

**Author:** ![zhinn0](https://community.anytype.io/letter_avatar_proxy/v4/letter/z/8797f3/32.png) [@zhinn0](https://community.anytype.io/u/zhinn0)\
**Post date:** [January 17, 2024, 4:33am UTC](https://community.anytype.io/t/multiple-types-for-objects/3496/14 "2024-01-17T04:33:59Z")

</div>

What is the status on getting multitypes and a more flexible system with objects?

---

<div class="post-metadata">

**Author:** ![Noe](https://community.anytype.io/letter_avatar_proxy/v4/letter/n/51bf81/32.png) [@Noe](https://community.anytype.io/u/Noe)\
**Post date:** [June 24, 2026, 6:52pm UTC](https://community.anytype.io/t/multiple-types-for-objects/3496/15 "2026-06-24T18:52:47Z")

</div>

Tana is well-known for this type of blended type attribute inheritance with their “supertags”. That’s a great model to follow.

> **[Learn how to use Supertags in Tana](https://www.cortexfutura.com/supertag-basics-tana-fundamentals/)**
>
> Understand the basics of how to use Tana's supertags.
