What are the characteristics of an untyped programming language?

Suppose we have an imaginary programming language that allows you to assign a literal to a variable, but does not allow you to define the data type of the variable, for example

Allocate4Bytes an_int_variable 123456;
Allocate2Bytes a_short_int_variable 123;
Allocate4Bytes a_float_variable 2.1;

And this programming language also provides different operators to work with different types of data, for example:

  • the + The operator is used to add an int to a short int.
  • the # + The operator is used to add a float to an int.
  • the = the operator is used to assign an int to an int.
  • the # = The operator is used to assign a short int to a short int.
  • etc.

It is therefore up to the programmer to keep track of the data type of each variable and use the appropriate operator.

Is this programming language considered an untyped programming language or can we say that this programming language has data types (even if it has no operator overhead? and type safety, etc.)