Raycast Tag of Hit GameObject

I have recently been having issues with finding the tag of an object hit via Raycast. I have an object named Cube with a script “Enemy” attached to it that handles the “Damage” message. Cube also has an empty GameObject with collider parented to it with a tag called “Headshot”. Currently firing any gun throws up a MissingFieldException: UnityEngine.RaycastHit.colliderS. If the whole error is necessary, it is below. My code is this:

function SemiAutoFire () {
	var fwd = transform.TransformDirection(Vector3.forward);
	var hit : RaycastHit;
	Debug.DrawRay(transform.position, fwd, Color.red);
	if(Input.GetButtonDown ("Fire1") && Time.time > nextFire && boolet > 0 && SemiAuto == true){
		nextFire = Time.time + fireRate;
		boolet = boolet - 1;
		AutoReload();
		AudioSource.PlayClipAtPoint(gunShot, Camera.main.transform.position, 1);
		for(var i : int = 0; i < myBullets; i++){
			fwd.x += Random.Range(-accuracy, accuracy);
			fwd.y += Random.Range(-accuracy, accuracy);
			fwd.z += Random.Range(-accuracy, accuracy);
			if (Physics.Raycast(transform.position, fwd, hit, BRange)){
				Instantiate(bulletTex[Random.Range(0,3)], hit.point, Quaternion.FromToRotation(Vector3.up, hit.normal));
				if (hit.colliderS.compareTag("Headshot") && headshots == true){
					print ("Nice shot, mate.");
					hit.collider.SendMessage("Damage", damage * headshotMulti, SendMessageOptions.DontRequireReciever);
				}
				if (!hit.collider.compareTag("Headshot") || headshots == false){
					print ("Nice bodyshot and/or miss, NOOB!");
					hit.collider.SendMessage("Damage", damage, SendMessageOptions.DontRequireReciever);
				}
	if (hit.rigidbody !=null) {
		hit.rigidbody.AddForceAtPosition(fwd * power, hit.point);
}
}
}
}
}

Thank you for your time. This is the full error just in case:

ctory) Boo.Lang.Runtime.RuntimeServices.GetProperty (System.Object target, System.String nameMissingFieldException: UnityEngine.RaycastHit.colliderS Boo.Lang.Runtime.DynamicDispatching.PropertyDispatcherFactory.FindExtension (IEnumerable`1 candidates) Boo.Lang.Runtime.DynamicDispatching.PropertyDispatcherFactory.Create (SetOrGet gos) Boo.Lang.Runtime.DynamicDispatching.PropertyDispatcherFactory.CreateGetter () Boo.Lang.Runtime.RuntimeServices.DoCreatePropGetDispatcher (System.Object target, System.Type type, System.String name) Boo.Lang.Runtime.RuntimeServices.CreatePropGetDispatcher (System.Object target, System.String name) Boo.Lang.Runtime.RuntimeServices+c__AnonStorey17.<>m__C () Boo.Lang.Runtime.DynamicDispatching.DispatcherCache.Get (Boo.Lang.Runtime.DynamicDispatching.DispatcherKey key, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory) Boo.Lang.Runtime.RuntimeServices.GetDispatcher (System.Object target, System.String cacheKeyName, System.Type cacheKeyTypes, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory) Boo.Lang.Runtime.RuntimeServices.GetDispatcher (System.Object target, System.Object args, System.String cacheKeyName, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory fa) UnityScript.Lang.UnityRuntimeServices.GetProperty (System.Object target, System.String name)

in this line you have an S at the end of ‘collider’:

if (hit.colliderS.compareTag("Headshot") && headshots == true){

just delete it.