Why any numerical operations on nn.Parameter return nn.Tensor?

import torch
import torch.nn as nn
learning_alpha = torch.ones(1)
learning_beta = torch.zeros(1)
learning_alpha = nn.Parameter(learning_alpha)
learning_beta = nn.Parameter(learning_beta)

c = learning_alpha + learning_beta

<class 'torch.Tensor'>


nn.Parameter are just a Tensor subclass for nn.Module to know what is a parameter there or not. But there is no need for them to remain Parameters and they can be used just as any regular Tensor.